【发布时间】:2016-06-20 13:44:17
【问题描述】:
我正在尝试将无符号字符文件读入向量。我这样做的稍微迂回的方法是创建一个输入文件流,将该数据读入一个字符串流,并使用字符串流的内容初始化一个向量。可能有更好的方法可以做到这一点,而我现有的代码使用某些文件会导致分段错误。
string file_name = "output/comp" + to_string(start_id) + ".xml";
if( !file_exists(file_name))
{
cout << "File could not be found." << endl;
return 0;
}
ifstream ifs(file_name);
stringstream ss;
ss << ifs.rdbuf();
ss >> noskipws;
vector<unsigned char> raw_data(ss.str().begin(), ss.str().end());
我已经包含了所有必要的标题和using 声明,file_exists() 返回一个布尔值,指示文件是否存在。
我的问题是:为什么上面的代码不正确,正确实现相同目标的最佳方法是什么?
【问题讨论】:
-
可能需要在文件打开方式中添加
binary
标签: c++ string vector ifstream stringstream