我正在尝试读取以下格式的CSV文件:
5,455,78,5
12245,4,78
1,455,4557,1,8,9
我设法打开了文件,但我不知道如何解释数据。所有数据都写在第一列,但我不知道有多少行或每行有多少条目。这是我打开文件的代码。
printf("File chosen is: %s", file);
int p = 0;
FILE *myFile = NULL;
myFile = fopen(file, "r");
if (myFile == NULL)
{
exit(1);
}
if (myFile != NULL)
{
printf("\n\nFile read successfully");
}
4条答案
按热度按时间yhived7q1#
这应该会解析你的csv文件。打开文件后,使用fgets读取每一行。循环直到fgets返回NULL,这表示没有行可以读取,并且你到达了文件的结尾。使用strtok从fgets中解析你的行,使用逗号作为你的分隔符。
tez616oj2#
vjhs03f73#
谢谢你发布了一些代码,但是你没有提到你想做什么,一旦你读到你的数据。
我会给予你一些提示:
使用一个已知大小的数组从文件中读取数据,并将其缓冲以进行处理。
使用
strtok
处理缓冲区以分离字符串。标记是数据分隔符,应该是','
,但我不清楚是否也有换行符,但它需要一致。处理上面返回的字符串。
8ehkhllq4#
如果文件包含数字列表行,下面是一个简单的解析器: