将扩展名附加到通过引用传递的字符串

时间:2014-10-26 04:58:09

标签: c++ file visual-studio-2012

在我的代码中,我想执行以下操作,即传递字符串的名称,该字符串成为我写入的fileName,当通过引用传递字符串名称时,我无法使用+运算符重载来追加* .txt到我的fileName,相同的代码如下所示:

void myFunction (string &fileName){

   (1)
   fileName += ".txt";
   fstream file; 
   file.open(fileName, iostream::out);
}

VS2012 Intellisense在+ =处显示错误“没有运算符匹配这些操作数” 我尝试通过添加传递它,这意味着+ =运算符不能用于通过引用传递的字符串名称。至少这就是我的理解。

但是当我将fileName引用复制到另一个字符串并使用它时,它会生成一个没有名称的文件,即只有.txt文件。

string myName = fileName; 
fileName += ".txt"; at (1)

生成的文件没有任何名称。知道我哪里出错了吗?

0 个答案:

没有答案