在c ++中输入已经包含文本的输入

时间:2015-01-21 04:09:34

标签: c++ string input cin getline

只是一个问题,无论如何,我可以通过使用" cin来获得已经为我编写的文本的输入。"我正在寻找一个预定义的函数或者我可以用来输入文本的任何东西。我的目的是我试图在命令行中创建一个简单的文本编辑器。即使没有任何预定义的函数,任何人都有一个伪代码将一串字复制到一个cin(或任何其他输入)。我希望我的问题不是毫无意义的。

问候。

1 个答案:

答案 0 :(得分:0)

您可以将std::cin的缓冲区分配给从磁盘上的文件而不是终端读取,如下所示:

ifstream file("file.txt");
cin.rdbuf(file.rdbuf());

从那时起,当您从cin阅读时,它会向您提供file.txt的内容。

如果您愿意,也可以让std::cin直接从字符串中生成文本,如下所示:

istringstream stream("blah\nblah blah");
cin.rdbuf(stream.rdbuf());

现在,当您从cin阅读时,您将获得两行:blahblah blah