int main(int argc, char *argv[])
{
Move move;
ifstream inf("eof.txt");
inf >> move;
return 0;
}
istream& operator>> (istream &is, Move &move)
{
is >> move.c; // c = char c[2];
cout << move.c << endl;
return is;
}
eof.txt有2个字符的行,所以如果它有“9r”,那么“9r”将被存储在move的数据成员中(为了方便起见,我公开了它)。为了确保这个工作,我输出移动数据,确定它有效
我要做的是使用相同的运算符,但不是从文件或标准输入获取输入,而是我将拥有一个保存所需输入的数据库。因此在main中,如果我有一个带有“1d”的char数组,我需要能够使用相同的函数(不修改它)来做同样的事情。
这可能吗?任何帮助表示赞赏。
答案 0 :(得分:2)
您可以使用stringstream
:
#include <sstream>
int main() {
char foo[] = "1d";
std::stringstream ss(foo);
Move move;
ss >> move;
return 0;
}