몽상실현개발주의

[따배씨] 11.11 문자열을 숫자로 바꾸는 방법들 본문

Language/C

[따배씨] 11.11 문자열을 숫자로 바꾸는 방법들

migrationArc 2021. 6. 10. 10:52

[따배씨] 11.11 문자열을 숫자로 바꾸는 방법들

따배씨 - 따라하며 배우는 C언어

11강 문자열 함수들

11.11 문자열을 숫자로 바꾸는 방법들

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[]){
    /*
        string to integer, double, long
        atoi(), atof(), atol()
     */
    
    if (argc < 3)
        printf("Wrong Usage of %s\n", argv[0]);
    else{
        int times = atoi(argv[1]);
        
        for (int i = 0; i < times; i++)
            puts(argv[2]);
    }
    return 0;
}

 

 

 

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[]){
    /*
        string to integer, double, long
        atoi(), atof(), atol()
     */
    
    if (argc < 3)
        printf("Wrong Usage of %s\n", argv[0]);
    else{
        printf("Sum = %d\n", atoi(argv[1]) + atoi(argv[2]));
    }
    return 0;
}
  • atoi() 는 10진수만 변환 가능

 

 

 

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[]){
    /*
        string to integer, double, long
        atoi(), atof(), atol()
     */
    
    char str1[] = "1024Hello";
    char* end;
    long l = strtol(str1, &end, 10);
    printf("%s %ld %s %d\n", str1, l, end, (int)*end);
    // 1024Hello 1024 Hello 72
    
    return 0;
}
strtol(str1, &end, 10);
  • str1 의 문자열을 Long type 으로 변환을 하다가 변환 할 수 없는 'H' 를 만나면 그 문자의 pointer 를 end 에 저장

 

 

 

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[]){
    /*
        string to long, unsigned long, double
        strtoi(), strtoul(), strtod()
     */
    
    char str2[] = "10FFHello";
    char* end;
    long l = strtoul(str2, &end, 16);
    printf("%s %ld %s %d\n", str2, l, end, (int)*end);
    // 1024Hello 1024 Hello 72
    
    return 0;
}
strtoul(str2, &end, 16);
  • 10FF 까 숫자로 변환

 

 

 

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[]){
    /*
        numbers to strings
        Use sprintf() insted of itoa(), ftoa()
     */
    
    char temp[100];
    sprintf(temp, "%x", 10);
	  // a
    
    puts(temp);
    
    return 0;
}
sprintf(temp, "%x", 10);
  • 10을 문자열로 변환하여 temp 에 저장

 

 

 


이 글의 모든 사진과 내용의 출처는 홍정모 교수님께 있음을 알려드립니다.

http://blog.naver.com/atelierjpro

 

실리콘 밸리의 프로그래머 : 네이버 블로그

안녕하세요! 홍정모 블로그에 오신 것을 환영합니다. 주로 프로그래밍 관련 메모 용도로 사용합니다. 강의 수강하시는 분들은 홍정모 연구소 카페로 오세요.

blog.naver.com

http://www.inflearn.com/course/following-c

 

홍정모의 따라하며 배우는 C언어 - 인프런 | 강의

'따배씨++'의 성원에 힘입어 새롭게 개발된 C 언어로 시작하는 프로그래밍 입문 강의입니다. '따배씨'와 함께 프로그래밍 인생을 업그레이드 해보세요., 따라하며 배우는 C언어 '따배씨++'의 성원

www.inflearn.com

 

Comments