麻烦使用remove

问题描述

我遇到了麻烦。我想做的是制作一个名为<username>.txt文件,然后在该文件中更改一行。该函数应在其中进行更改的地方创建一个文件<username>.n,然后删除原始文件并将新文件重命名<username>.txt

问题是这不起作用:

remove(user + ".txt");
//and
rename(user + ".n",user + ".txt");

它不起作用,因为remove()rename()仅接受char数组而不接受字符串。有什么解决方法吗?

请不要只说“将字符串转换为char数组”。我试过了,但是无法正常工作。

解决方法

rename(/*oldpath=*/(user + ".n").c_str(),/*newpath=*/(user + ".txt").c_str());