c - 如何读取文本文件的某些部分并将它们存储在字符数组中进行比较?

标签 c

这是我正在努力解决的程序部分,“您将需要某种循环来读取文本文件中的条目,对于文本文件中的第 4 个字段,您会知道您是当您读取逗号时,位于字段末尾。对于文本文件中的最后一个字段,当您读取换行符时,您将知道您位于该字段的末尾。

我使用 string.h 中的函数编写了该程序,但受到挑战,在不使用 string.h 的情况下执行相同的程序,并且我陷入了该程序的循环部分。

我知道我的循环不正确,但我无法找出要使用的正确循环,任何提示都会有所帮助

do
{
    ch = fgetc(fout);
    if(ch == EOF)
    {
        break;
    }


    field[x]=ch;//loads all the characters into the array

    printf("%c",field[x]);//printing 
    x++;

}while(1);//infinite loop

fclose(fout);

最佳答案

解决这个问题的一种方法是创建一个二维数组,即字段数组,并在循环中添加一个 if 来递增变量,该变量表示当有逗号时要使用哪个字段数组。你最终会得到 5 个字符数组,每个数组都有一个字段,最后一个字符数组中会有一个\n ,然后需要将其删除。 希望这有帮助

关于c - 如何读取文本文件的某些部分并将它们存储在字符数组中进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58405069/

相关文章:

c - 如何在可能已依赖于 SDL 的程序使用的库中初始化 SDL?

c - "Cannot allocate memory"在 C 中使用 shmat 命令的共享内存问题

c - 关于C中链表的下一个字段中最低有效位的声明

c - 鉴于字节内存地址不是 int 类型,int 类型的 C 指针如何保存内存地址?

c - micium 的 printf 函数

c - 有什么方法可以修改此函数,以便它删除数组中的前一个元素 - C

c - Linux 内核 ftrace irqsoff 跟踪器生成奇怪的输出

c - C 中的变量乘法?

c - 二进制操作数无效/(有 'int *' 和 'int' )?

c++ - 调试 "multiple definition of ..."错误的一般技巧?