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

关于ssCAnF读取数字的问题

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

直接用 %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;}

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

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

我觉得你的问题主要在于如何判断字符串中的数字,对吧? 如果是这样,可以通过sscanf读入时,对每个字符进行一次大小判断,如果该字符>=0 并且

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

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...

int data; //保存第二个下划线后面的数字 FILE *fp=fopen("c:\\file.txt","r"); fscanf(fp,"%*[10]c%d%*[10]c",&data);//如果一个空格都没有的话,可以循环,用这个函数读出所有的数据 ,"%*[10]c表示跳出前10个数据,%d表示读出整形数据,\r\n表...

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

从你的sscanf语句来看,每个字段的数据都应该是有长度限定的,那么当你的数据为空时,就必须有占位符才行,例如空格等。 sscanf再使用[ ]作为格式化占位符的时候,原文定义的第一句话是这么写的: [ Matches a nonempty sequence of characters ...

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