C - 在内存中编写多行txt

时间:2015-11-11 14:14:35

标签: malloc

我在PUTTY工作,使用C.我有一个.txt文件,其中包含多个用户的数据。例如,一行看起来像:" SSNumber,Name,PhoneNumber,Class,Age(...)"。每个用户只有一行。我想用malloc在共享内存位置写它。但是我以后必须改变其中一个字段。我怎样才能做到这一点?无论如何,我是否需要逐行阅读?这让人非常困惑。 谢谢! 这够了吗?

if (fp != NULL) {
      /* Vai ao fim do ficheiro. */
      if (fseek(fp, 0L, SEEK_END) == 0) {
          long bufsize = ftell(fp);
          if (bufsize == -1) { /* Error */ }
          source = malloc(sizeof(char) * (bufsize + 1));
          if (fseek(fp, 0L, SEEK_SET) == 0) { /* Error */ }
          size_t newLen = fread(source, sizeof(char), bufsize, fp);
          if (newLen == 0) {
              fputs("Error reading file", stderr);
          } else {
              source[++newLen] = '\0'; /* Just to be safe. */
          }
      }
      fclose(fp);
}

0 个答案:

没有答案