所以我有一个.txt文件,其记录如下所示:
1234567, John, Doe
Run Code Online (Sandbox Code Playgroud)
我的C代码中有数组,我想读取这些值并将它们插入:
int id[36] = {0};
char first_name[36];
char last_name[36];
Run Code Online (Sandbox Code Playgroud)
所以他们的想法是,例如,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;
}
}
Run Code Online (Sandbox Code Playgroud)
格式字符串fscanf指定第一个参数int后跟逗号和空格,然后是35个非逗号,再次使用逗号,最后35个字符的序列.