system()命令的语法错误,用于在C中重命名文件

时间:2014-02-15 03:58:38

标签: c windows-8.1

我正在尝试通过system()命令重命名文件而且我得到(文件名,目录名或卷标语法不正确)

这是我的代码中的一行: system(“ren”“C:\ Users \ Mac \ Desktop \ new folder \ 03 Elfsong - Shar.mp3 test.mp3”);

这里的语法问题是什么?

2 个答案:

答案 0 :(得分:0)

ren是一个cmd.exe内置命令,它不是一个独立的可执行文件,所以你必须这样做

system("CMD", "/c ren originalname newname");

答案 1 :(得分:0)

答案是转义序列,

语法是: system(“ren old_filename new_filename”);

但是你必须使用转义序列,因为文件名中的空格和路径中的'\',因为旧文件名和新文件名之间只有一个空格。

此外,您必须在(\“\”)中包含旧文件名,以在语法中将其指定为(old_filename)。

代码:

system(“ren \”C:\ Users \ Mac \ Desktop \ New folder \ 03 Elfsong - Shar.mp3 \“\”test.mp3 \“”);