本篇文章给大家分享的是有关在c语言或c++ 中利用sscanf怎么对数据进行拆分,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
成都网站设计、网站建设的关注点不是能为您做些什么网站,而是怎么做网站,有没有做好网站,给成都创新互联公司一个展示的机会来证明自己,这并不会花费您太多时间,或许会给您带来新的灵感和惊喜。面向用户友好,注重用户体验,一切以用户为中心。sscanf使用示例
示例:使用sscanf分割文件中的数据,数据源示例如下
川EZ1E58,贵GQ7708,:1302
贵AE0996,:185
贵A0PJ06,贵JYN192,贵JYN192,:128
分割代码如下所示:
#include#include int DealLine(char *StrLine) { // find : data save char Parkid[20] = ""; char *p = StrLine; char *prt = StrLine; char carNum[20] = ""; if(p = strstr(p,":")) { p = p + 1; strncpy(Parkid,p,20); printf("Parkid == %s",Parkid); }else{ return -1; } char endflag = 0; while(1){ endflag = *prt; if(endflag == 58) { return 0; } memset(carNum ,0, 20); sscanf(prt,"%[^,]",carNum); prt = strstr(prt,","); prt = prt + 1; printf("carNum = %s \n",carNum); } } int main(void) { FILE *fp; char StrLine[1024] = ""; fp = fopen("./test1.txt","r"); //判断文件是否存在及可读 if(fp == NULL) { printf("open fail"); return -1; } while(!feof(fp)){ fgets(StrLine,1024,fp); //读取一行 printf("\n\n\n"); printf("%s\n",StrLine); int ret = DealLine(StrLine); } fclose(fp); return 0; }