c - 从文本文件读入char数组[]

标签 c file

在我的项目中,我使用数组而不是指针。我的目的是将所有字符从text.file一张一张地复制到数组中。我从互联网上找到了一些示例,但该站点对我没有用。
认为input1.txt是“abcd”,我想像这些input1 [0] = a,input1 [1] = b等。

main ()
{
    FILE *f1 = fopen("input1.txt", "r");
    int i;
    fseek(f1, 0, SEEK_END); 
    int inputsize = ftell(f1); //its about text's size
    char input1[inputsize];
    for(i = 0; i < inputsize; i++)
    {
          fscanf(f1, "%c", &input1[i]);
    }
    printf("%c ", input1[3]);
    getchar();
}

当我运行此代码时,它不会打印“d”,但会打印“6”。为什么会这样呢?我该怎么办?感谢帮助

最佳答案

您试图找到文件的末尾以获取文件的大小,但是在实际开始读取文件之前,请不要再回到文件的开头。

在循环之前插入:

fseek(f1,0,SEEK_SET);

使用此修订将代码粘贴到我的编译器中,可在我的计算机上使用

关于c - 从文本文件读入char数组[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23591135/

相关文章:

file - Gnome 文件 Nautilus 上下文菜单 "Open with"应用程序列表

java - 将多个对象写入和读取到文件

c - 如何将特定大小的二维数组从动态更改为静态?

c++ - 在内存块中搜索 2 个连续的字符

c - 迭代C 中的main 函数?

visual-studio - 这些 WCF 服务引用文件是什么

c - 为什么整数除以零会导致浮点异常?

void ** 和 void * 的编译警告

文件名的 Python 专用类

java - 外循环不起作用(java)