ostream打开文件失败,因为打开的文件太多
ostream fails to open the file because of too many open Files
下面是我调用它一次的函数!正如我所看到的,它打开文件一次!但我不明白为什么它返回"太多打开的文件"。它和向量的大小有关系吗?
void WriteResult(std::vector<result*> result)
{
std::string tempStr = "";
std::string outPath = "/my/path/similarityScores.txt" ;
for ( int i=0; i< result.size(); i++)
tempStr += (*result[i]).GetResult();
outStream.open(outPath.c_str(), std::ios::app );
if (!outStream)
std::cout << std::strerror(errno) << 'n';
outStream << tempStr;
outStream.close();
}
Too many open files
是计算机的一个问题(对于一次可以打开多少文件有单个用户和全局限制),您可以使用像lsof
这样的程序来查看当前打开的文件。
尝试重新启动计算机并再次运行程序。
Try
for ( int i=0; i< result.size(); i++)
**{**tempStr += (*result[i]).GetResult();**}**
outStream.open(outPath.c_str(), std::ios::app );
顺便说一句,考虑用"for_each"方法替换"for"
相关文章:
- 在没有太多条件句的情况下,我如何避免被零除
- 错误:字符数组的初始值设定项太多
- Levenshtein 两个文件的距离花费了太多时间
- C/C++:socket() 创建在循环中失败,打开的文件太多
- GLib-ERROR:为GWakeup创建管道:打开的文件太多
- C++,从文件读取到结构,然后读取到向量(结构被推入向量太多次,而不仅仅是一次)
- ZeroMq:打开的文件太多.在同一对象上连续增长的fd使用数
- 压缩太多文件
- 如何在不设置 ulimit -n 的情况下解决套接字程序打开太多文件的错误
- 按扩展名过滤搜索文件会返回太多结果
- 从文件的开头读取,而不会浪费太多内存
- C++管道,打开的文件太多,错误25
- 如何在不使用太多内存的情况下链接大量的c++对象文件
- 我可以在Visual Studio 2012中编译和调试(运行)单个c++文件吗?(如何避免创建太多项目)
- 文件解析使用太多内存(c++)
- ostream打开文件失败,因为打开的文件太多
- 促进Asio:编写SSL服务器/客户端的文件类型太多
- 调试转储文件调用堆栈没有太多信息
- boost enable_shared_from_this特性是否给二进制文件增加了太多的大小?
- 在Codelite(c++)上构建项目会重新编译太多文件