mwbr.net
当前位置:首页 >> 关于ssCAnF读取数字的问题 >>

关于ssCAnF读取数字的问题

sscanf(d_name," %13*s%d_%d",&d,&j); %13*s中的13 是你要忽略多少个字符

%[0-9]的意思是输入0~9之间的字符,在遇到不是这个范围的数据时停止,你的str上来就是一组不属于这个范围的字符,所以temp采集失败。这一点你可以观察sscanf的返回值得知。

别费脑筋了,另想办法吧!两个逗号间本无数据,你怎么能叫sscanf读出个“空”来——这真叫“无中生有”!给你个思路:写个函数一个数据一个数据读,当遇到两个或多个连续逗号时在两个逗号间给接收变量附加一个“空”。

sscanf(cmt,"%*[^0-9]%[0-9]",imt);sscanf(cmt,"%*[^0-9]%[0-9]",imf);

直接用 %c 进行读龋 #include int main(){ int a, b; char c; sscanf("12 25", "%d%c%d", &a, &c, &b); printf("%d%c%d\n", a, c, b); printf("%d\n", c); return 0;}

int d; char buf[100]; for(;;) { if ( scanf( "%d", &d ) == EOF ) break; printf( "%d,", d ); if ( scanf( "%[^0-9]", buf ) == EOF ) break; }

#include #include int main(){int count, total, num;char str[200];char *s;while (gets(str) != NULL)//遇到EOF停止{count = total = 0;s = strtok(str, " \t");while (s != NULL && sscanf(s, "%d", &num)){total += num;count++;s = strtok...

int i=0, j=0; sscanf("ABCD_12_21_S", "ABCD_%d_%d_S", &i, &j);

喂喂,LZ你的strCmd分配内存了么?野指针是很危险的埃 指针只有地址,必须还有对应的内存才可以,否则你就是向随机内存写入数据埃 应该用char strCmd[256]; 50实在太短了,至少也得MAX_PATH(256)个字符吧。 你只要用strstr搜索第一个空格的位...

1、当然能。sscanf相当于格式输入,能够处理任何特殊格式的输入。 2、例如: #include int main(){char abd[80]="aaabc.jpg";char buf1[10],buf2[10];sscanf(abd, "%[^.].%[^.]", buf1, buf2); //通过ssanf获得文件名及后缀名printf("buf1=%s bu...

网站首页 | 网站地图
All rights reserved Powered by www.mwbr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com