我希望cin从字符串中读取输入.
有没有办法让它这样做?
像这样的东西:
const char * s = "123 ab";
cin.readFrom(s);//<---- I want something like this
int i;
cin>>i;
cout<<i; //123
Run Code Online (Sandbox Code Playgroud)
像这样:
#include <sstream>
#include <iostream>
std::istringstream stream("Some string 123");
streambuf* cin_backup = std::cin.rdbuf(stream.rdbuf());
Run Code Online (Sandbox Code Playgroud)
如果要再次使用它,您可能需要备份std :: cin的原始rdbuf.
我建议使用字符串流.您可以像使用标准输入/标准输出一样使用重载的I/O运算符.像这样的东西:
string tempString = "123 ab";
int firstArg;
string secondArg;
stringstream stream(tempString);
stream >> firstArg >> secondArg;
cout << firstArg << " " << secondArg;
Run Code Online (Sandbox Code Playgroud)
我个人觉得这比读入标准字符串然后使用标准的I/O运算符要清楚得多,但也许你有理由首先将它读入标准,我没有意识到.
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
4059 次 |
| 最近记录: |