最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言實現(xiàn)解析csv格式文件的示例代碼

 更新時間:2023年06月04日 15:29:26   作者:whik1194  
CSV,有時也稱為字符分隔值,其文件以純文本形式存儲表格數(shù)據(jù)(數(shù)字和文本),本文為大家整理了C語言解析csv文件的方法,需要的可以參考一下

csv文件格式

逗號分隔值(Comma-Separated Values,CSV,有時也稱為字符分隔值,因為分隔字符也可以不是逗號),其文件以純文本形式存儲表格數(shù)據(jù)(數(shù)字和文本)。純文本意味著該文件是一個字符序列,不含必須像二進制數(shù)字那樣被解讀的數(shù)據(jù)。

CSV文件由任意數(shù)目的記錄組成,記錄間以某種換行符分隔;每條記錄由字段組成,字段間的分隔符是其它字符或字符串,最常見的是逗號或制表符。通常,所有記錄都有完全相同的字段序列。通常都是純文本文件。建議使用WORDPAD或是記事本來開啟,再則先另存新檔后用EXCEL開啟,也是方法之一。

csv文件示例

一個簡單的csv文件:

csv文件解析

csv文件內(nèi)容:

序號,姓名,性別,年齡,描述
1,張珊,女,29,產(chǎn)品經(jīng)理
2,李思,男,31,架構(gòu)師
3,王偉,男,27,開發(fā)工程師
4,陳亮,男,26,測試工程師

首先打開文件,按行讀取一行數(shù)據(jù),使用strtok函數(shù)基于逗號對一行的數(shù)據(jù)進行分割,并存入二維數(shù)組中。

#include <stdio.h>
#include <stdlib.h>
#include "stdint.h"
#include "string.h"

#define PATH_CSV    "./test.csv"

int parse_csv(uint8_t *path);

int main()
{
    int ret = 0;

    ret = parse_csv(PATH_CSV);

    printf("Hello world! %d\n", ret);

    system("pause");
    return 0;
}

int parse_csv(uint8_t *path)
{
    FILE *fp = fopen(path, "rw");
    uint8_t buf[200];
    char *token = NULL;
    char arr[5][100];
    int line = 0;
    int i = 0;
    int idx = 0;

    if(fp == NULL)
    {
        printf("file open failed: %s\n", path);
        return -1;
    }

    while(fgets(buf, sizeof(buf)/sizeof(buf[0]), fp) != NULL)  //每次讀取一行,最多讀取200字節(jié)
    {
        token = strtok(buf, ",");   //對讀取的一行數(shù)據(jù)進行分割
        while(token != NULL)        //依次取出分割后的內(nèi)容
        {
            strcpy(arr[idx], token);
            idx++;
            token = strtok(NULL, ",");
        }
        line++;

        printf("line %d: \n", line);
        for(i = 0; i < idx; i++)
        {
            printf("arr[%d]=%s\n", i, arr[i]);
        }
        idx = 0;
        memset(buf, 0, sizeof(buf)/sizeof(buf[0]));
    }

    fclose(fp);

    return 0;
}

編譯并運行:

line 1:
arr[0]=序號
arr[1]=姓名
arr[2]=性別
arr[3]=年齡
arr[4]=描述

line 2:
arr[0]=1
arr[1]=張珊
arr[2]=女
arr[3]=29
arr[4]=產(chǎn)品經(jīng)理

line 3:
arr[0]=2
arr[1]=李思
arr[2]=男
arr[3]=31
arr[4]=架構(gòu)師

line 4:
arr[0]=3
arr[1]=王偉
arr[2]=男
arr[3]=27
arr[4]=開發(fā)工程師

line 5:
arr[0]=4
arr[1]=陳亮
arr[2]=男
arr[3]=26
arr[4]=測試工程師

Hello world! 0

到此這篇關(guān)于C語言實現(xiàn)解析csv格式文件的示例代碼的文章就介紹到這了,更多相關(guān)C語言解析csv文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C/C++ 監(jiān)控磁盤與目錄操作的示例

    C/C++ 監(jiān)控磁盤與目錄操作的示例

    這篇文章主要介紹了C/C++ 監(jiān)控磁盤與目錄操作的示例,幫助大家更好的理解和學習C/C++編程,感興趣的朋友可以了解下
    2020-10-10
  • C++設(shè)計模式之工廠模式

    C++設(shè)計模式之工廠模式

    本文是C++設(shè)計模式系列文章的第一篇,主要給大家講述下工廠模式,非常的簡單實用,有需要的小伙伴可以參考下
    2016-05-05
  • C++中單引號 '' 和 雙引號 "" 的區(qū)別小結(jié)

    C++中單引號 '' 和 雙引號 ""&

    本文主要介紹了C++中單引號 '' 和 雙引號 "" 的區(qū)別小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2026-03-03
  • C語言 pthread_create() 函數(shù)講解

    C語言 pthread_create() 函數(shù)講解

    這篇文章主要介紹了C語言 pthread_create() 函數(shù)講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • C語言實現(xiàn)在windows服務(wù)中新建進程的方法

    C語言實現(xiàn)在windows服務(wù)中新建進程的方法

    這篇文章主要介紹了C語言實現(xiàn)在windows服務(wù)中新建進程的方法,涉及C語言進程操作的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • 詳解C++11中模板的優(yōu)化問題

    詳解C++11中模板的優(yōu)化問題

    這篇文章主要介紹了C++11中模板的優(yōu)化問題,通過實例代碼得出結(jié)論,當所有模板參數(shù)都有默認參數(shù)時,函數(shù)模板的調(diào)用如同一個普通函數(shù),具體示例代碼跟隨小編一起看看吧
    2021-09-09
  • QT使用udp實現(xiàn)發(fā)送與接收圖片

    QT使用udp實現(xiàn)發(fā)送與接收圖片

    這篇文章主要為大家詳細介紹了QT如何使用udp協(xié)議實現(xiàn)發(fā)送與接收圖片功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-12-12
  • Assert(斷言實現(xiàn)機制深入剖析)

    Assert(斷言實現(xiàn)機制深入剖析)

    言前后最好空一格[編程風格的問題,按你自已的喜好,適合自已就最好]。斷言只是用來檢查程序的邏輯正確性,不能代替條件替換。斷言比printf語句這種形式的打印好使
    2013-09-09
  • C++模擬2D牛頓力學效果的示例代碼

    C++模擬2D牛頓力學效果的示例代碼

    這篇文章主要為大家詳細介紹了如何利用C++模擬2D牛頓力學效果,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以了解一下
    2023-06-06
  • c語言 漢諾塔算法代碼

    c語言 漢諾塔算法代碼

    c語言 漢諾塔算法代碼,需要的朋友可以參考一下
    2013-04-04

最新評論

达州市| 湖口县| 莒南县| 蒙自县| 开鲁县| 黎城县| 新宁县| 平乡县| 明光市| 寻甸| 广南县| 娱乐| 措美县| 镶黄旗| 大安市| 晋城| 康保县| 彭水| 洛南县| 昌图县| 兴安盟| 河西区| 涞源县| 绵竹市| 平南县| 恩施市| 五指山市| 高密市| 读书| 东宁县| 广宁县| 铁岭市| 临海市| 广元市| 台山市| 武宁县| 柳江县| 长葛市| 田东县| 穆棱市| 库车县|