linux用C语言实现<重定向
时间: 2024-02-06 19:12:52 浏览: 169
在 Linux 中,`<` 重定向符用于将文件作为标准输入传递给程序。要在 C 语言中实现 `<` 重定向,可以使用 `freopen()` 函数将标准输入重定向到指定文件。
例如,假设有一个文本文件 `input.txt`,包含以下内容:
```
Hello, world!
```
下面的代码演示了如何将 `input.txt` 文件的内容作为标准输入传递给程序:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp;
fp = freopen("input.txt", "r", stdin); // 将标准输入重定向到 input.txt 文件
if (fp == NULL) {
printf("File open error!\n");
exit(1);
}
char str[100];
fgets(str, sizeof(str), stdin); // 从标准输入中读取数据
printf("%s", str);
fclose(fp);
return 0;
}
```
在上面的代码中,`freopen()` 函数将标准输入重定向到 `input.txt` 文件,如果文件打开失败,则输出错误信息并退出程序。接着,使用 `fgets()` 函数从标准输入中读取数据,并输出到屏幕上。
编译并运行上面的代码,输出结果为:
```
Hello, world!
```
可以看到,程序成功读取了 `input.txt` 文件的内容,并将其作为标准输入。
阅读全文