提取字符串问题 http://topic.csdn.net/t/20050124/15/3749826.html 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 char s[] = "GPRMC,41.87,,,56,32"CString str=s;int nPos=str.Find(',');while(nPos!=-1){ CString str111; //用于保存提取出的字符串 if(nPos==0) //逗号之间没有内容 str111="0"; else str111=str.Left(nPos); ....... str.Delete(0,nPos+1); nPos=str.Find(',');}if(!str.IsEmpty()) //最后一个逗号后的数据 ......//没有测试,你试一试 strtok(分割字符串) 相关函数 index,memchr,rindex,strpbrk,strsep,strspn,strstr表头文件 #include<string.h>定义函数 char * strtok(char *s,const char *delim);函数说明 strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串,当strtok()在参数s的字符串中发现到参数delim的分割字符时则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回下一个分割后的字符串指针。返回值 返回下一个分割后的字符串指针,如果已无从分割则返回NULL。范例 #include<string.h>main(){char s[]="ab-cd : ef;gh :i-jkl;mnop;qrs-tu: vwx-y;z";char *delim="-: ";char *p;printf("%s ";strtok(s,delim));while((p=strtok(NULL,delim)))printf("%s ",p);printf("\n");}执行 ab cd ef;gh i jkl;mnop;qrs tu vwx y;z /*-与:字符已经被\0 字符取代*/ OpenEvent 有时会成功,有时候会创建失败? [源码]请教Navigate后,再OpenURL,发送出去网址中的中文参数为乱码 一个字符串处理问题(在线等) 两个问题! 散分 关于关闭显示器和硬盘 为什么不能获取QQ登录窗口的密码? 字符转换的问题 有没有人在金山做过,那里的情况怎么样? 一个关于时间的小问题。 如何改变列表框某一行的字体大小? GetProcAddress问题,救命
CString str=s;
int nPos=str.Find(',');
while(nPos!=-1)
{
CString str111; //用于保存提取出的字符串
if(nPos==0) //逗号之间没有内容
str111="0";
else
str111=str.Left(nPos);
.......
str.Delete(0,nPos+1);
nPos=str.Find(',');
}
if(!str.IsEmpty()) //最后一个逗号后的数据
......//没有测试,你试一试
strtok(分割字符串) 相关函数 index,memchr,rindex,strpbrk,strsep,strspn,strstr
表头文件 #include<string.h>
定义函数 char * strtok(char *s,const char *delim);
函数说明 strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串,当strtok()在参数s的字符串中发现到参数delim的分割字符时则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回下一个分割后的字符串指针。
返回值 返回下一个分割后的字符串指针,如果已无从分割则返回NULL。
范例 #include<string.h>
main()
{
char s[]="ab-cd : ef;gh :i-jkl;mnop;qrs-tu: vwx-y;z";
char *delim="-: ";
char *p;
printf("%s ";strtok(s,delim));
while((p=strtok(NULL,delim)))printf("%s ",p);
printf("\n");
}
执行 ab cd ef;gh i jkl;mnop;qrs tu vwx y;z /*-与:字符已经被\0 字符取代*/