c - 如何逐个字符读取文件,然后将它们存储到动态分配的数组中

标签 c arrays file

我有一个用 C 语言编写的学校项目,但遇到了问题。我已经阅读了几乎所有有关此问题的主题,但没有一个回答我的问题,这就是为什么我请求您的帮助...... 我创建了一个结构,其中有一个指向字符数组的指针,并且我有一个包含 int 和 char 的文件。

我想创建一个函数 read_file 来逐字符读取该文件,然后将它们存储到动态分配的数组中。但首先我不知道如何逐个字符地读取文件,其次我不知道如何将这些字符放入数组中......

这是我到目前为止所写的内容:

char* main(int argc, char *argv[]){
  FILE *p_file;
  char* code = malloc(1000*sizeof(char));
  char* p = code;
  p_file = fopen(argv[1],"rb+");
  while((ch=getc(p_file)) != EOF){
    *p++ = (char)fgetc(p_file);
  } 
  return code;
  free(code);

你能照亮我或者给我发送一个有帮助的链接吗?

提前致谢!

最佳答案

查看有关阅读的 fread() 和/或 fgetc() 文档。 关于数组,好吧,这取决于,如果它是一个 char 数组(例如 char arr[100]),那么您可以在继续读取它们时将它们放在那里。希望这可以帮助。

关于c - 如何逐个字符读取文件,然后将它们存储到动态分配的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54943083/

相关文章:

c - 如何覆盖标准 libc 函数?

c++ - 如何更新项目中的所有 C/C++ 标识符名称

javascript - 连接数组,用引号将每个值括起来 javascript

java - 在数组中使用循环和随机字符java

javascript - javascript 是否具有用于数组的 exists() 或 contains() 函数

c - 如何返回文件创建日期?

c - 打开文件 - C 编程

linux - 在 Linux 上按身份跟踪文件

java - 保存从文件读取的字符串值列表的最佳java方法是什么

java - 在java中写入文件 - 关闭或刷新