표준 라이브러리를 사용하는 경우 최소한 두 가지 옵션이 있습니다. 첫 번째는 atoi()
이고, 나머지는 stdlib.h
이고 두 번째는 sscanf()
입니다. 기능은 stdio.h
입니다.
atoi 함수()
char number_string[] = "47";
int number;
number = atoi(number_string);
sscanf를()
char number_string[] = "47";
int number;
int return;
return = sscanf(number_string, "%d", &number);
/* it would be good idea to check the return value here */
sscanf()
당신에게 더 나은 오류 처리를 제공합니다 : 여기
은 예입니다. sscanf()
의 반환 값은 얼마나 많은 항목이 성공적으로 읽혔는지 (얼마나 많은 변수가 채워 졌는지)를 결정합니다. 입력이 실패하면 EOF가 리턴됩니다.
atoi()
은 유효한 변환을 수행 할 수없는 경우 0을 반환합니다.
할당 된 숫자가 임의로 큰 숫자를이 방식으로 저장하려고하지 않는 한. 그렇다면 초등 학교에서 배웠던 것처럼 소수 추가 및 캐리를 구현해야합니다 ... –
atoi를 사용하여이 오류가 발생했습니다. "unsigned char *를 const char *로 변환 할 수 없습니다. – James
부호없는 거리를 버릴 수 있지만, 문자를 저장할 때'char'를 사용할 때 많은 의미가 있습니다 (바이트가 아닌) –