繁体   English   中英

C 中的大字符串输入

[英]Large string input in C

我正在尝试从控制台获取输入并将其打印到文本文件中。 输入可能非常大(20 000 位)

#include <stdio.h>
#include <string.h>
#define MAX 100000

int main()
{ 
  char id[MAX];
  FILE *fp = fopen("new.txt", "w");

  fgets(id, MAX, stdin); 

  for(int i=0;i<strlen(id);i++){
    fprintf(fp, "%c", id[i]);
  }

  fclose(fp);
  return 0;
}

我的代码仅打印到文件的前 4096 个字符。 我究竟做错了什么? 请帮忙。

对于读取和写入大量数据(而不是较短的文本行),请考虑使用fread()fwrite()而不是fgets()fprintf()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM