c语言中如何一行一行地输入输出
时间: 2024-09-28 15:04:56 浏览: 38
利用C语言替换文件中某一行的方法
在C语言中,一行一行地读取或输出文本通常涉及到文件操作。对于输入,你可以使用`fgets()`函数从标准输入(键盘)逐行读取;对于输出,可以先将字符串存储到字符数组或动态分配的内存中,然后使用`puts()`或`printf()`函数逐行打印。
下面是一个简单的例子,演示了如何从命令行获取用户输入,然后逐行显示出来:
```c
#include <stdio.h>
#define MAX_LINE_LENGTH 100 // 设定每行最大长度
int main() {
char input[MAX_LINE_LENGTH]; // 存储每一行的输入
int ch; // 每次读入的一个字符
while ((ch = getchar()) != EOF) { // 当遇到换行符或文件结束标志才停止读取
if (ch == '\n') { // 如果读到的是换行符
puts(input); // 输出已读取的一行
input[0] = '\0'; // 清空这一行,准备接收下一行
} else {
input[strlen(input)] = ch; // 否则,将字符追加到当前行
}
}
// 最后如果还有未读完的行,也输出一次
if (input[strlen(input)]) {
puts(input);
}
return 0;
}
```
而对于输出,可以创建一个包含多行内容的字符串,然后使用`puts()`函数分隔每一行:
```c
#include <stdio.h>
int main() {
const char *lines[] = {"这是第一行", "这是第二行", "这是第三行"};
int i;
for (i = 0; lines[i]; ++i) {
fputs(lines[i], stdout); // 输出到标准输出(通常是屏幕)
fputc('\n', stdout); // 每行末尾添加换行符
}
return 0;
}
```
阅读全文