【发布时间】:2017-12-10 21:45:33
【问题描述】:
目前我的程序将一个字符串作为输入,我使用argc and argv 访问它
然后我用
FILE *fp, *input = stdin;
fp = fopen("input.xml","w+b");
while(fgets(mystring,100,input) != NULL)
{
fputs(mystring,fp);
}
fclose(fp);
我做这部分只是为了创建一个文件 input.xml 然后我提供给
ifstream in("input.xml");
string s((std::istreambuf_iterator<char>(in)), std::istreambuf_iterator<char>());
获取s 作为字符串(基本字符串)。
有没有办法将我的输入直接提供给ifstream? (即给ifstream提供一个字符串)。
【问题讨论】:
-
不,
ifstream旨在读取文件。如果您想将std::string作为istream提供,可以使用std::stringstream。 -
完全不清楚您要的是什么。您是否将要读取的字符串作为程序的参数,还是要将文件的内容读入
std::string? -
在我下面的回答中,我完全忽略了你提到的
argc和argv,这似乎没有意义。 -
@user0042 我将它作为我程序的参数。
标签: c++ string file format ifstream