【发布时间】:2011-02-05 19:10:29
【问题描述】:
对于我的一项练习,我们需要逐行阅读并仅使用 getchar 和 printf 进行输出。我正在关注 K&R,其中一个示例显示了使用 getchar 和 putchar。根据我的阅读,getchar() 一次读取一个字符,直到 EOF。我想要做的是一次读取一个字符,直到行尾,但将写入的任何内容存储到 char 变量中。因此,如果输入 Hello, World!,它也会将其全部存储在一个变量中。我尝试使用 strstr 和 strcat 但没有成功。
while ((c = getchar()) != EOF)
{
printf ("%c", c);
}
return 0;
【问题讨论】:
-
你不能将所有字符存储在一行中,然后读取数组的每个字符,直到你有一个空字符吗?
-
@stanigator:那么您必须处理内存不足时发生的情况。更好的方法是忘记行并一次读取一些中等大小的固定
N字符。