本篇文章給大家分享的是有關(guān)在c語(yǔ)言或c++ 中利用sscanf怎么對(duì)數(shù)據(jù)進(jìn)行拆分,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)的關(guān)注點(diǎn)不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒(méi)有做好網(wǎng)站,給成都創(chuàng)新互聯(lián)公司一個(gè)展示的機(jī)會(huì)來(lái)證明自己,這并不會(huì)花費(fèi)您太多時(shí)間,或許會(huì)給您帶來(lái)新的靈感和驚喜。面向用戶友好,注重用戶體驗(yàn),一切以用戶為中心。sscanf使用示例
示例:使用sscanf分割文件中的數(shù)據(jù),數(shù)據(jù)源示例如下
川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; }