charArrayToInt + intLength
2554 단어 C_module
itoa、ltoa(int, char*, int)
strtoi、strtol(char*, char**, int)
scanf에서 데이터를 읽는 문제:
1 #include
2
3 int main(){
4 char data[15] = "hello,world!";
5 printf("%s
",data);
6 scanf("%s",data);
7 printf("%s
",data);
8 int i;
9 for(i=0;i<15;i++){
10 printf("%c ",data[i]);
11 }
12 if(data[3]=='\0'){
13 printf("hello
");
14 }
15 if(data[3]=='
'){
16 printf("hello
");
17 }
18
19
20 printf("%d--%d
",'\0','
');
21
22 return 0;
23 }
/*
hello,world!
acd
acd
a c d o , w o r l d ! hello
0--10
*/
☞시뮬레이션 stdlib.h에서strtoi(char*,char**,redix)/strtol(char*,char*,redix):
#include
int charArrayToInt(char* data){
if(data==NULL){
return -1;
}
int length = 0;
while(data[length]!='\0'){
length++;
}
int i = 0;
int j = 0;
for(;i='0'){}else{
return -1;
}
}
int res = 0;
for(i=0;i
☞int 유형을 문자열로 변환:sprintf
int intLength(int num){
char buff[15];
sprintf(buff,"%d",num);
int length = 0;
while(buff[length]!='\0'){
length++;
}
return length;
}
문자열에 지정된 길이 숫자가 있는지 체크하려면 다음과 같이 하십시오.
#include
/*
:
-1: 0
-2:
-3:
*/
int check(char *data,int len){
if(data==NULL){
return -1;
}
int length=0;
while(data[length]!='\0'){
length++;
}
int i=0;
int j=0;
if(data[0]==0){
return -1;
}
for(;i='0'){}else{
return -2;
}
}
//
if(length!=len){
return -3;
}
return 0;
}
//
int main(){
char *data1 = "a123";
char *data2 = "1a23";
char *data3 = "123a";
char *data4 = "123";
printf("%d
",check(data1,3));
printf("%d
",check(data2,3));
printf("%d
",check(data3,3));
printf("%d
",check(data4,3));
printf("%d
",check(data4,4));
return 0;
}