国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

自定函數實現C++讀取CSV文件

開發 后端
C++讀取CSV文件需要一個合適的函數來進行具體的操作。如果沒有現成的函數供我們使用,我們可以自己編寫一個來方便我們的使用。

C++是一個應用方式非常靈活的編程語言。我們可以通過自己的需求,自己編寫一個適合自己開發的函數來實現一些特定的功能。比如今天為大家介紹的就是自定義函數來實現C++讀取CSV文件這一功能。#t#

今天恰好做一個東西需要一個C++讀取CSV文件的函數。

沒有找到現成的函數,所以就自己寫了一個。

目的就是實現C++讀取CSV文件,每一行讀到一個數組中。

有點生疏了,字符串處理函數都不知道有什么現成的,所以也寫了兩個輔助的字符串處理函數。

***個函數:計算一個字符串中的某個子串的個數

  1. int strstr_cnt(const char *string, const char 
    *substring) {  
  2. int i,j,k,count = 0;  
  3. for (i = 0; string[i]; i++){  
  4. for (j = ik = 0; (string[j] == 
    substring[k] && (j 
    < strlen(string))); j++,k++) {  
  5. if (! substring[k + 1]) {  
  6. count++;  
  7. }  
  8. }  
  9. }  
  10. return count;  

第二個函數:計算一個子串在字符串中的位置

  1. int substring_index(const char *s1,const char *s2, int pos){  
  2. int i,j,k;  
  3. for( i = pos ; s1[i] ; i++ ) {  
  4. for( j = ik = 0 ; s1[j] == s2[k]; j++,k++ ){  
  5. if (! s2[k + 1]) {  
  6. return i;  
  7. }  
  8. }  
  9. }  
  10. return -1;  

第三個函數:讀取已經打開的一個CSV文件的一行,將這一行處理到一個數組中。

  1. char *fgetcsvline(vector<string> &csv_databuf, FILE *fhead) {  
  2. char *ret_stat;  
  3. char data_buf[1024];  
  4. string stringbuf;  
  5. ret_stat = fgets( data_buf, 1024, fhead );  
  6. if (ret_stat != NULL) {  
  7. int len = strstr_cnt(data_buf,"\",\"");  
  8. if (len > 0){  
  9. int pos = substring_index(data_buf,"\",\"",0);  
  10. int startpos = 1;  
  11. string csv_buf;  
  12. while (pos > 0) {  
  13. stringbuf = (string)data_buf;  
  14. csv_buf = stringbuf.substr(startpos,pos - startpos);  
  15. csv_databuf.push_back(csv_buf);  
  16. startpos = pos + 3;  
  17. pos = substring_index(data_buf,"\",\"",pos + 2);  
  18. }  
  19. if ((substring_index(data_buf,"\n",0)) > 0){  
  20. csv_buf = stringbuf.substr(startpos, stringbuf.length() 
    - startpos - 2);  
  21. } else {  
  22. csv_buf = stringbuf.substr(startpos, stringbuf.length() 
    - startpos - 1);  
  23. }  
  24. csv_databuf.push_back(csv_buf);  
  25. }  
  26. }  
  27. return ret_stat;   

這個函數使用上面的兩個函數來處理字符串。

另外這個函數用來處理的CSV文件是帶雙引號格式的:

  1. "sss","ddd","444"  
  2. "ttt","www","ooo"  
  3. "sss","qqq","000" 

使用方法如下:

  1. int main(int argc, char* argv[]) {  
  2. FILE *fp_head;  
  3. string csvFileName = "test.csv";  
  4. char *ret_stat;  
  5. vector<string> csv_data;  
  6. fp_head = fopen( csvFileName, "rt" );  
  7. ret_stat = fgetcsvline(csv_data, fp_head);  
  8. while (ret_stat != NULL) {  
  9. //get csv data use csv_data[n]  
  10. ret_stat = fgetcsvline(csv_data, fp_head);  
  11. }  
  12. return 0;  

以上代碼可能需要稍加調試。也可稍加改動用來讀取其它格式的csv文件。

以上就是C++讀取CSV文件的相關實現方法。

責任編輯:曹凱 來源: 博客園
相關推薦

2022-01-14 09:10:56

C++文件Linux

2011-08-29 16:48:50

Lua配置文件C++

2011-06-17 16:09:04

freadfwrite

2011-08-22 17:25:31

LuaC++函數

2010-02-03 15:52:55

C++ clock()

2011-08-25 16:47:53

LuaC++ 證書

2010-02-05 15:59:26

C++函數重載

2023-10-31 12:59:00

C++編程語言

2023-12-24 12:56:14

C++函數語言

2010-02-01 10:32:01

C++文件操作

2010-01-18 17:38:54

C++虛函數表

2009-12-10 10:18:05

PHP讀取文件

2010-01-28 16:16:32

C++多態性

2010-01-27 17:16:52

C++構造函數

2024-12-17 12:00:00

C++對象模型

2010-01-26 10:42:26

C++函數

2009-08-12 17:19:09

C#讀取文件內容

2009-08-12 18:29:06

C#讀取TXT文件

2011-06-07 13:44:40

VC

2010-01-18 16:56:30

C++函數
點贊
收藏

51CTO技術棧公眾號

日韩av免费| 国产一区二区日韩| 国产精品毛片久久久久久久久久99999999 | 成人jjav| 国产激情一区二区三区四区| 中国日韩欧美久久久久久久久| wwwwww99| 91麻豆国产在线观看| 国产999在线观看| 亚州av电影免费在线观看| 久久一留热品黄| 玖玖精品在线视频| 亚洲高清成人| 1769国产精品| silk一区二区三区精品视频| 欧美电影免费提供在线观看| 97福利电影| 成人综合在线观看| 国模精品一区二区三区| 欧美亚洲在线日韩| 亚洲天天在线日亚洲洲精| 精品美女视频在线观看免费软件| 1024成人网| www.99riav| 日韩福利电影在线观看| 亚洲精品高清国产一线久久| 亚洲午夜极品| 国产精品高清网站| 在线精品小视频| 亚洲a级在线观看| 激情成人亚洲| 四虎影院一区二区三区 | 亚洲乱码视频| 日韩精品一区二区三区外面| 美女100%一区| 欧美一级高清片在线观看| 97在线资源在| 国产精品天美传媒| 欧美久久久久久久久久久久久| 久久精品国产网站| 日韩网站在线免费观看| 国产视频不卡一区| 国产美女极品在线| 都市激情亚洲色图| 国内精品不卡| 69堂亚洲精品首页| 第九色区av在线| 欧美性感一类影片在线播放| 嫩草精品影院| 亚洲欧美另类在线观看| 国产精一区二区| 成人久久久久久| 日本中文字幕一区| 国产精品乱码久久久久| 中文字幕一区二区在线观看| av播放在线观看| 91麻豆精品国产无毒不卡在线观看 | 欧美日韩亚洲视频| 成人性生交大片免费看午夜 | 欧美美女15p| 欧美日韩伦理片| 亚洲国产精品av| 成人激情在线播放| 在线香蕉视频| 国产精品1024| 97免费在线视频| 在线精品国产亚洲| 欧美日高清视频| 在线毛片网站| 欧美激情在线狂野欧美精品| 麻豆精品网站| 在线资源av| 6080yy精品一区二区三区| 视频在线观看一区| 成人高清免费在线播放| 亚洲欧洲激情在线| 少妇精品久久久| 国产亚洲精品久久飘花| 亚洲三级电影全部在线观看高清| 国产综合在线观看| 在线亚洲午夜片av大片| 国产精品一页| 黄色网在线免费观看| 快播亚洲色图| 日韩电影免费观看在线观看| 一区二区三区福利| 麻豆网在线观看| 欧洲久久久久久| 亚洲国产精品人久久电影| 麻豆9191精品国产| 1024在线看片你懂得| 女女百合国产免费网站| 亚洲国产97在线精品一区| 国产专区欧美精品| 一区二区三区视频免费视频观看网站| 男人添女人下面高潮视频| 欧美日韩成人精品| 天天av天天翘天天综合网色鬼国产| 欧美日韩亚洲国产精品| 99精品国产一区二区| 精品伊人久久97| 91小视频在线观看| 成人3d动漫在线观看| 免费污视频在线| 五月婷婷导航| 亚洲激情图片| 国产精品稀缺呦系列在线| 日韩欧美国产三级| 国产女人18水真多18精品一级做| 欧美伊人久久| 91夜夜蜜桃臀一区二区三区| 超碰porn在线| 免费福利影院| 精品少妇在线视频| www.久久草| 午夜精品久久久久久久男人的天堂| 香蕉加勒比综合久久| 国产一区二区三区四| 99久久久国产精品美女| 国产精品伦一区二区| 无遮挡的视频在线观看| 日韩视频免费在线播放| 欧美lavv| 精品久久久久久亚洲| 1769国产精品| 久久电影一区二区| 日韩欧美专区在线| 91久久奴性调教| 欧美国产日产图区| 久久99精品国产麻豆婷婷| 狠久久av成人天堂| jiujiure精品视频播放| 国产另类在线| 国语一区二区三区| 在线精品国产亚洲| 日韩影片在线观看| 国产精品亚洲欧美一级在线 | 一区二区三区视频免费观看| 国产免费不卡| 超碰在线观看免费| av片在线免费观看| 欧美成人hd| 欧美卡一卡二| 中文字幕在线看片| 日韩毛片免费看| 凹凸av导航大全精品| 亚洲成人五区| 国产成人精品免费视| 日本一道高清一区二区三区| 超碰精品在线观看| 校花撩起jk露出白色内裤国产精品| 精品资源在线| 亚洲精品二区三区| 毛片一区二区三区| 日本va欧美va精品| 成人午夜精品| 欧美孕妇孕交| 欧美a级黄色大片| 色综合久久天天综线观看| 久久不射2019中文字幕| 91九色在线看| 日韩脚交footjobhd| 亚洲一区二区三区久久久| 日韩电影不卡一区| 一区在线播放| 9人人澡人人爽人人精品| 又紧又大又爽精品一区二区| 精品成人av一区| 日韩理论片久久| 国产激情综合五月久久| 中国一级大黄大黄大色毛片| 国产欧美日韩综合一区在线观看 | 黄色成人小视频| 亚洲人亚洲人色久| 日韩不卡一区二区三区| 国产精品毛片高清在线完整版| 一区二区三区色| 亚洲三级色网| seseavlu视频在线| 久草福利资源在线视频| 午夜视频在线| www一区二区三区| 日韩—二三区免费观看av| 成人欧美一区二区三区1314| 日韩一区二区免费视频| 日本精品视频在线观看| 亚洲一卡二卡区| 欧美少妇另类| 日韩av网站在线免费观看| 美女免费视频一区二区| 黑人精品xxx一区| 69久久夜色精品国产7777| 国产免费黄色小视频| av中文字幕在线看| 极品裸体白嫩激情啪啪国产精品| 中文字幕亚洲成人| 欧美日韩一区在线观看| 欧美日本精品一区二区三区| 综合激情成人伊人| 亚洲精品在线观看视频|