如何以 C++/C 打印出我刚刚输入到程序中的文件
How can I print out the file I just inputted into my program in C++/C
我试图让我的程序输出我在命令行中键入的所有内容,但我流式传输到它的文件没有打印出来,因为它没有存储在 argv 中。以下是我的执行方式:
输入: ./program < file.txt
预期产出: ./program < file.txt
实际输出: ./program
为了清楚起见,我不想打印出文件中的内容。我只想打印出文件名。
文件重定向由 shell 处理,而不是由程序处理。当 shell 看到"<"时,它基本上说"当你启动这个程序时,将 stdin 映射到这个文件而不是终端"。所以,在引擎盖下,外壳会做 fork();然后关闭并打开文件的位置,然后调用execv()或类似内容来实际执行程序。同样,如果你执行 ./program *.txt,当程序看到命令行时,*.txt 已经扩展到目录中所有匹配的文件名。
我怀疑,这是一个数据流,文件名没有被流式传输到程序此外,我认为您不应该在 argv 中查找输入,您应该从 stdin 读取流内容,例如使用 scanf 的
相关文章:
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 无法在windows控制台中为C++程序提供必要的输入
- 更改.cpp程序的输入文件中数据的位置会意外更改输出
- 我试图制作一个程序,要求用户输入问题和答案,但程序循环不正确
- 我的程序没有从文件中读取并输入数据
- 3-3. 编写一个程序来计算每个不同单词在其输入中出现的次数
- 为什么有时我输入一个整数,程序将第一个输入的数字打印成十进制数?
- LLVM | codegen 用于带有命令行选项的程序输入功能
- 为什么当我输入较大的数字时,我的程序会到达文件末尾?
- 编写一个不断要求用户输入的程序
- 程序中的布尔函数返回输入的范围无论如何都是无效的
- 为什么我的程序在输入某个形状的面积的测量值后没有结束?
- 在这个无限循环中,当输入 0 时终止,当输入 int 范围之外的任何内容时,程序行为不正常
- 一个C++程序,用于在输入位数时输出具有特定位数的 .txt 文件中的所有数字
- 如何将输入C 程序的平均值输入
- Sudoku输入程序跳过提示
- 无法将文件输入 C++ 程序
- 简单的c++输入程序
- 简单输入程序崩溃
- 用户用于输入程序设置的文件约定