Linux读文本通过read函数c语言程序完整
时间: 2024-11-09 09:17:45 浏览: 14
在C语言中,使用`read`函数从标准输入流(通常表示为文件描述符0)读取文本数据,特别是在处理Linux终端输入的情况下,可以这样编写一个简单的程序:
```c
#include <stdio.h>
#include <unistd.h>
#define BUFFER_SIZE 4096 // 读取数据的缓冲区大小
int main() {
char buffer[BUFFER_SIZE]; // 存放读取的数据的字符数组
int bytes_read; // 用于保存实际读取到的字节数
ssize_t n; // 临时存储每次读取的字节数
// 循环读取,直到没有更多数据或者用户中断(如按下Ctrl+D)
while ((n = read(0, buffer, sizeof(buffer))) > 0) {
buffer[n] = '\0'; // 将读取到的最后一个字符设置为'\0',便于处理字符串
printf("You entered: %s\n", buffer);
}
if (n == 0) { // 如果读取的是EOF,说明文件结束,不是错误
printf("End of input.\n");
} else if (n < 0) { // 如果返回负数,可能是错误情况,需要处理
perror("Error reading from standard input");
}
return 0;
}
```
这个程序会一直等待用户的输入,直到用户停止输入(通常是按下Enter键并关闭输入流)。请注意,在Linux环境下,用户通常通过Ctrl+D来表示输入结束。
阅读全文