C++ 向引用传递的字符串追加扩展名
在我的代码中,我希望执行以下操作,即传递字符串的名称,该名称将成为我写入的文件名,当通过引用传递字符串名称时,我无法使用+运算符重载将*.txt附加到我的文件名,相同的代码如下所示:C++ 向引用传递的字符串追加扩展名,c++,file,visual-studio-2012,C++,File,Visual Studio 2012,在我的代码中,我希望执行以下操作,即传递字符串的名称,该名称将成为我写入的文件名,当通过引用传递字符串名称时,我无法使用+运算符重载将*.txt附加到我的文件名,相同的代码如下所示: void myFunction (string &fileName){ (1) fileName += ".txt"; fstream file; file.open(fileName, iostream::out); } VS2012 Intellisense在+=处显示错误
void myFunction (string &fileName){
(1)
fileName += ".txt";
fstream file;
file.open(fileName, iostream::out);
}
VS2012 Intellisense在+=处显示错误,表示没有运算符与这些操作数匹配
我尝试通过add传递它,这意味着不能在通过引用传递的字符串名上使用+=运算符。至少我是这么理解的
但当我将文件名引用复制到另一个字符串并使用它时,它会生成一个没有名称的文件,即一个.txt文件
string myName = fileName;
fileName += ".txt"; at (1)
生成的文件没有任何名称。你知道我哪里会出错吗?请给出你得到的确切错误。至于文件没有名字,这是没有意义的。所有文件都有一个名称。无法创建没有名称的文件。您的意思可能是名称只是.txt,但在这种情况下,您发布的代码与您实际尝试的代码不匹配?看起来是智能感知问题,而不是代码问题。是否编译?在附加文件名后使用文件名时,它不会编译。TXT不要用自由散文描述代码和错误消息,请逐字引用它们。准确说明问题所在。没有示威,毫无疑问。