问题描述
我遇到了麻烦。我想做的是制作一个名为<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());