【发布时间】:2012-06-07 21:18:29
【问题描述】:
我有一个简单的 C 控制台应用程序,我正在尝试使用 100,000 的输入对其进行测试。但该程序每次只接收大约 4,096 个字符。这是一个简单的输入示例:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 //Up to 100,000
如果我每次手动输入一个数字,它就可以工作,但我只想将输入(100,000 个空格分隔的数字)粘贴到控制台中。
PS:对不起,我的英语不太好
编辑:是的,我使用的平台是 Windows cmd。而且我已经尝试过“属性>选项>缓冲区大小”。
代码示例:
int a[100000],i;
for(i=0;i<100000;i++)
scanf("%i",&a[i]);
测试的打印屏幕:
【问题讨论】:
-
听起来像缓冲。但是您需要发布更多上下文。例如我认为的代码
-
您的控制台是什么平台?窗口命令? linux外壳?
-
您是否尝试使用
fread()或fgets()或fscanf()之类的东西来获取输入?完全在一个read()操作系统级调用中发生重要吗? -
您的读取循环有问题。向我们展示您的代码。
-
int a[100000]能保证栈吗?