C++问题 IO 文件流 一直输出文件无法打开

#include<iostream>
#include <stdexcept>
#include <fstream>
#include<vector>
#include <string>
using namespace std;
int main()
{
ifstream input;
vector<string> s;
string s1;
string word;
while(cin>>word)
s.push_back(word);
vector<string>::const_iterator it=s.begin();

while(it!=s.end())
{
input.open(it->c_str());
if(!input)
{
cout<<"文件无法打开"<<endl;
input.clear();
++it;
continue;
}
input>>s1;
cout<<s1;

input.close();
input.clear();
++it;

}
return 0;

}

while(cin>>word)
    s.push_back(word);

这里都死循环了吧,怎么到得了下面!

追问

没有死循环 ctrl+z 结束 后面还可以输出 无法打开文件哎

追答

输入的文件路径和名称是正确的吗?

追问

不是外部文件 只是建一个容器 string 类型 从容器读

追答

ifstream针对的是标准文件输入流,你容器里面放的只是一个string,这个string得指向一个文件系统你才能打开啊。

温馨提示:答案为网友推荐,仅供参考
相似回答