【发布时间】:2014-02-03 09:52:07
【问题描述】:
所以我在 SSH shell 中遇到了问题。我有一个 proj1.cpp 文件,它将标准输入中的文本读入一个名为“word”的字符串。之后,我使用 makefile 将其编译为可执行文件(proj1.x)。然后在 SSH shell 中我执行类似“proj1.x 单词”)。它工作正常,但似乎在读了大约 30 个字符后就中断了。但是,当我简单地使用代码块或其他东西运行“proj1.cpp”时,一切正常(对于我输入的文本行,无论它的大小是多少)所以我不知道问题是什么。
我在想问题可能是我正在使用“getline(cin, word);”它从标准输入读取 1 行文本到名为“word”的字符串,但我正在重定向的文件的某些内容有几行。我将使用什么代码从标准输入中读取所有文本(我想直到程序终止?)所以当我将文件重定向到标准输入时,它会读取所有内容并将其上传到字符串“单词”。也许是一个while循环?或者,如果您认为这是其他问题,请发表评论。
我现在用的是什么:
string word;
getline(cin, word);
我的生成文件:
proj1.x: proj1.cpp
$(CXX) -o $@ $<
clean:
rm -f *.o *.x core.*
【问题讨论】:
标签: c++ linux shell ssh makefile