remove() 有问题

Having trouble with remove()

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

问题是这不起作用:

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

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

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

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