[英]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.