0
我需要创建很多不同的文件,我想他们的名字是这样的:要创建许多不同的文件,但名称不同
"signal1.dat", "signal2.dat", "signal3.dat", ... , "signal100.dat"
这是我迄今为止
std::stringstream ss;
std::string out = "signal";
std::string format = ".dat";
std::string finalName;
int TrkNxtSig = 1;
...
[code]
...
ss << out << TrkNxtSig << format;
finalName = ss.str();
ofstream output(finalName);
TrkNxtSig++;
我得到这个错误
error: no matching function for call to ‘std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream(std::string&)’
/usr/include/c++/4.4/fstream:623: note: candidates are: std::basic_ofstream<_CharT, _Traits>::basic_ofstream(const char*, std::_Ios_Openmode) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/fstream:608: note: std::basic_ofstream<_CharT, _Traits>::basic_ofstream() [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/iosfwd:84: note: std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream(const std::basic_ofstream<char, std::char_traits<char> >&)
我不知道那是什么错误消息告诉我。哪里不对?
可能的重复[为什么不std :: fstream类需要std :: string?](http://stackoverflow.com/questions/32332/why-dont-the-stdfstream-classes-take- a-stdstring) – 2012-07-09 15:47:01
顺便说一句,如果你升级你的编译器,它应该开始工作。 – 2012-07-09 15:48:21
标签存在,因此您不需要在标题中提供它们(即从标题中删除'[C++]')。实际标记功能更强大,因为它们允许索引和搜索 – 2012-07-09 15:56:50