c - 读取文本文件,复制到 C 中的数组

标签 c arrays

代码应该读取用户输入的文本文件名,将每个字符复制到一个多维数组中,然后用标准输出显示它。它编译,但产生难以理解的文本。我错过了什么吗?

    for (i = 0; i < BIGGEST; i++) {
        for (j = 0; j < BIGGESTL; j++) {
            if (fgetc(array, fp) ) != EOF)
                array[i][j] = c;
            else array[i][j] = '\0'


        }

    fclose(fp);    
    return 0;
}

最佳答案

当遇到 EOF 时,您会停止填充数组,但无论如何都会打印出完整的数组。

如果从文件中读取的数据小于输入数组,您将读入该数据,然后打印出该数据,以及内存位置中未被文件中的数据覆盖的任何随机字符。

由于需求似乎是打印文本数据,所以可以在数组中插入一个特殊的标记(例如'\0')来指示遇到EOF的位置,并在到达该标记时停止显示数据。

关于c - 读取文本文件,复制到 C 中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19364491/

相关文章:

c - 使用 GDB 调试时读取变量 (C)

python - 在循环中一次从列表中检索 2 个项目?

c# - string[] 的笛卡尔积与自身直接在 C# 中没有重复/克隆

c++ - 动态数组推送功能 - 它是如何工作的?

检查 char 数组的前两个元素并发送到整数

c - C语言中的移动蛇

c - 在 clang 中强制执行 C99 兼容编译

c - 使用字符串作为数组索引标识符(无循环)

c - 如何将 C 控制台应用程序附加到正在运行的进程

java - 将数组与对象一起使用? java