关于有关输入行没有限制的问题

xishuinabian 2011-04-30 05:56:11
我最近看到一道题,就是用标准输入输入几行,再在标准输出中打印出来,就只有一个要求,那就是对输入行的长度没有限制,我想问一下,我一般都会定义输入的数组的长度,但是加了长度就会有限制,这个是不是数组越界的问题,应该怎么解决啊
...全文
110 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
m1195817331 2012-02-04
  • 打赏
  • 举报
回复
3楼,你是不是要钱啊,我没有钱,怎么办
xishuinabian 2011-05-17
  • 打赏
  • 举报
回复
额。。。我明明结过贴了的说
xishuinabian 2011-05-03
  • 打赏
  • 举报
回复
对不起啊,最近有点忙,结贴晚了,最后还是用动态方法了,谢谢各位了
辰岡墨竹 2011-05-03
  • 打赏
  • 举报
回复
C输入用的行缓冲,一般最大是256或者512字节。你无法输入更多字符。
emailtome 2011-05-03
  • 打赏
  • 举报
回复

管道 可以
sswszdan 2011-05-03
  • 打赏
  • 举报
回复
看不懂,都是高手啊,能教教我关于句柄的知识吗?希望越形象越好。
赵4老师 2011-05-03
  • 打赏
  • 举报
回复
用动态方法?比如malloc,new啥的?
拷贝粘贴10GB的一行试试!
赵4老师 2011-05-03
  • 打赏
  • 举报
回复
#include <stdio.h>
#define MAXLEN 10
char ln[MAXLEN];
void main() {
while (1) {
if (NULL==fgets(ln,MAXLEN,stdin)) break;//按Ctrl+Z,Enter退出
fputs(ln,stdout);
}
}
kgzhw 2011-05-01
  • 打赏
  • 举报
回复
可以先把收的字符存到一个文件中,输入完成后在从文件中读出来显示
xishuinabian 2011-05-01
  • 打赏
  • 举报
回复
因为这个题目还要求了要打印行号,我好像忘记写上了,所以3楼的那个好像不行吧
非鱼boy 2011-04-30
  • 打赏
  • 举报
回复
3楼正解
疯疯癫癫 2011-04-30
  • 打赏
  • 举报
回复
支持3楼!
jernymy 2011-04-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 futurezone 的回复:]
while ((c = getchar()) != '\n'){
  printf("%c", c);   
}
[/Quote]

支持
pathuang68 2011-04-30
  • 打赏
  • 举报
回复
解决的办法有很多,但大多不是啥好办法。
xishuinabian 2011-04-30
  • 打赏
  • 举报
回复
必须存完一行后才能输出
李亚超 2011-04-30
  • 打赏
  • 举报
回复
比如,分配一个地址为1024B,当快要用完时,可以在重新对此地址分配空间。。
futurezone 2011-04-30
  • 打赏
  • 举报
回复
while ((c = getchar()) != '\n'){
  printf("%c", c);   
}
xishuinabian 2011-04-30
  • 打赏
  • 举报
回复
不用动态分配就不行吗
無_1024 2011-04-30
  • 打赏
  • 举报
回复
用指针 动态分配

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧