- 407 名前:デフォルトの名無しさん [2008/06/13(金) 09:12:35 ]
- >>366
もうこんなのでいいんじゃないか? #include <stdio.h> #include <stdlib.h> #include <string.h> // 0〜9の文字以外の表現だと不正な値になる unsigned int のパーサ unsigned int parse(const char *str){ unsigned int u=0; for(; str!='\0'; str++){ u+=u*10+(*str-'0'); } return u; } int main(int c, char **a){ unsigned int u = parse(a[1]); char us[11]; sprintf(us, "%u", u); if(strcmp(us, a[1])!=0) printf("unsigned int の範囲外です"); else printf("%u", u); }
|

|