我一直在寻找有关此主题的一些答案,但我只看到类似的内容:读取带有空格的内容并将其显示在屏幕上。
我的问题是一个类似的问题,但添加了一个变体。
假设您有一个文件:
michael;man;25,34,12,34
我的问题是,如何才能使用这一行并保存数字,并且仅保存某个数组中的数字?
我一直在尝试读取该行并显示它以进行一些测试的典型方法,但我找不到如何将此部分保留在某个数组中:
const int NUMBEROFLINES = 4;
FILE *fp
int i;
char leer[100] = "";
fp = fopen("name.txt", "r");
if (fp == NULL)
{
perror("ERROR");
}
for (i=0;i<NUMBEROFLINES;i++)
{
fgets(read, 100, fp);
puts(read);
read[strlen(leer)] = '\0';
}
close(fp);
最佳答案
您可以使用strtok()获取由 ;
分隔的标记,然后您可以使用 strtol()或者编写自己的函数来循环每个标记字符串中的字符并检查每个字符是否是数字(ASCII 代码比较)。如果字符串都是数字字符,则将其保存到数组中,否则不保存。
关于c - 如何在C中读取并保存txt的可变部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33843495/