簡體   English   中英

C:從txt文件讀取文件並插入數組。逗號作為分隔符

[英]C: Reading file from txt file and inserting into arrays. comma as a separator

所以我有一個.txt文件,其記錄如下所示:

1234567, John, Doe

我的C代碼中有數組,我想讀取這些值並將它們插入:

int id[36] = {0};
char first_name[36];
char last_name[36];

所以他們的想法是,例如,1234567位於id的索引0處,John位於first_name的索引0處,而doe位於last_name的索引0處。 我想用36條相似的線條做到這一點。

我已經調查了FILE IO但是我沒有發現任何與此有關的內容。 這樣做的最佳方式是什么? 感謝您的回復。

使用fscanf一個讀取文件內容的循環。 檢查返回值為3表示讀取了所有三個項目:

// id is OK as os
int id[36] = {0};
// make first_name and last_name arrays of arrays
char first_name[36][36];
char last_name[36][36];
int i = 0;
while (fscanf(fd, "%d, %35[^,], %35s", &id[i], first_name[i], last_name[i]) == 3) {
    i++;
    if (i == 36) {
        break;
    }
}

fscanf的格式字符串指定第一個參數是一個int后跟一個逗號和空格,然后是一個35個非逗號,再次使用逗號,最后一個字符最多35個字符的序列。

您可以使用fscanf讀取一行中的文件並使用strtok解析它,這允許您指定特定的字段分隔符

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM