c - 重命名功能?

标签 c visual-studio file rename

我试过使用此代码将文件移动到另一个地方。

#include <stdio.h>

    int main ()
    {
      int result;
      char oldname[] ="C:\\Users\Mohammed Mehdi\Documents\Test.txt";
      char newname[] ="C:\\Users\Mohammed Mehdi\Documents\Test";
      result= rename(oldname, newname);
      if ( result == 0 )
        puts ( "File successfully renamed" );
      else
        perror( "Error renaming file" );
      return 0;
    }

问题是,当我实际检查我所有的计算机文件时,什么也没有发生。我检查了返回码,它返回 0,所以应该没问题。我也没有错误。

我看过这个问题,但我的代码在运行时没有错误。 重命名功能不起作用,Visual Studio 2013 RC

最佳答案

每个反斜杠应该被另一个反斜杠转义:

char oldname[] ="C:\\Users\\Mohammed Mehdi\\Documents\\Test.txt";
char newname[] ="C:\\Users\\Mohammed Mehdi\\Documents\\Test";

尝试添加

puts(oldname);
puts(newname);

在进行更改之前和之后查看路径的实际情况。

您还应该从 Visual Studio 收到警告:

warning C4129: 'M' : unrecognized character escape sequence

关于c - 重命名功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33554171/

相关文章:

MySQL 连接错误,无法检索数据库列表

c scanf 不起作用。带文件 I/O

windows - 在 Windows 中创建文件夹最新文件的快捷方式

c# - 在执行 File.Move 之前确保文件夹存在的最简单方法是什么?

c - C 中的函数,代码块错误 : expected '=' , ',' 、 ';' 、

c - 从函数返回值

c - 如果在给指针的内存位置赋值后指针递增,会发生什么情况?

c - 在 C 中使用 mmap 或 fscanf 读取文件

visual-studio - Visual Studio 2010 - 将第一个项目添加到解决方案后看不到解决方案名称/根

c# - 可以通过 "Add Service Reference"添加 RESTful WCF 服务吗?