将文件的内容重定向为可执行文件linux的标准输入
redirecting contents of file as standard input to executable file linux
所以我在ssh shell中有问题。我有一个proj1.cpp文件,该文件在文本中从标准输入中读取为" Word "的字符串。之后,我使用makefile将其编译到可执行文件(ProJ1.x)中。然后,在SSH Shell中,我执行一个命令,例如" proj1.x&lt test0",将文件" test0"的内容重定向到" proj1.x"的标准输入(基本上是将文本放入test0中的标准输入中)" Word ")。它运行良好,但似乎在阅读大约30个左右的角色后,它似乎切断了。但是,当我简单地使用代码块或其他任何" proj1.cpp"运行" proj1.cpp"时,一切正常(对于文本线,我输入它的大小是什么),所以我不知道问题是什么。
我认为问题是我正在使用" getline(cin,word)";从标准输入到名为" word"的字符串的1行文本中读取,但是我要重定向的文件的某些内容有几行。我将使用什么代码来读取从标准输入中阅读所有文本(我想直到程序终止?),因此,当我将文件重定向到标准输入时,它会读取所有内容并将其上传到字符串" Word "。也许有一个循环?或者,如果您认为这是其他问题,请发表评论。
我现在正在使用的内容:
string word;
getline(cin, word);
我的makefile:
proj1.x: proj1.cpp
$(CXX) -o $@ $<
clean:
rm -f *.o *.x core.*
要收集所有内容,您可以使用while
循环或其他一些变体,例如for
循环:
std::string content;
for (std::string line; std::getline(std::cin, line); )
{
content += line;
}
相关文章:
- 在Linux上使用Clang / OLLVM交叉编译helloworld Windows可执行文件时的问题
- 共享库 (.so) 没有扩展名的 Linux 可执行文件之间的区别?
- 如何在 linux 可执行文件中使用静态库
- Linux 可执行文件通过 dlopen 在emplace_back崩溃打开共享库
- 无法在 Linux 上运行C++ ZMQ 项目的可执行文件
- 如何在 Linux 中从 .so 文件打开可执行文件?
- 在 Linux 上没有 /proc/self/exe 的 C/C++ 运行时可执行文件的大小?
- C++ 可执行文件在运行时找不到库,即使它在 /usr/lib 中(在 Linux 上)
- 使用 MINGW 和 CPLEX 库链接从 Linux 编译 Windows 可执行文件
- 如何从 Linux 交叉编译到 32 位 Windows 可执行文件
- 不同的数学符号绑定与共享库与 dlopen 并直接链接到可执行文件 (Linux)
- C++ Linux 可执行文件一直尝试使用不存在的库
- 如何在Linux中编译C 程序以生成Windows可执行文件
- Linux 可执行文件中列出的源文件
- 如何通过makefile添加CAP_NET_RAW功能到Linux上的C 可执行文件
- 在英特尔C++编译器 (Linux) 的配置搜索路径中找不到文件可执行文件
- C++ Linux 在部署环境中安装可执行文件
- 将文件的内容重定向为可执行文件linux的标准输入
- 通过Linux命令行执行时,可执行文件运行正常 - 调用C System()命令时运行时错误
- 将所有库依赖项包含到可执行文件Linux中