首页 > 解决方案 > 如何在 C 中使用 system() 而不是 rename() 重命名文件

问题描述

我一直在尝试重命名我的 C 程序中的文件。对于分配,我们应该使用 System() cp,即使我已经使用 rename() 完成了它。这是我到目前为止尝试过的,但它不起作用。我不确定我是否正确实现了 sprintf 命令:

char oldName[] = "database.tmp"; 
char newName[] = "database.csv";
char rename[100];
sprintf(rename,"cp %s %s", oldName, newName);
system(rename);

我还在 sprintf 函数中尝试过“cp -r %s %s”,但这也不起作用。

PS感谢您的帮助!

标签: cprintfsystemrename

解决方案


一种方法来做到这一点

#include <stdio.h>

    int main()
    {
            char oldName[] = "database.tmp";
            char newName[] = "database.csv";
            char rename[100];
            sprintf(rename ,"mv %s %s" , oldName , newName);
            system(rename);
            return 0;
    }

推荐阅读