使用stdio.h重定位和重命名文件C ++

时间:2017-08-27 18:04:51

标签: c++ visual-studio stdio

我正在尝试使用 stdio.h rename()函数重命名文件,但它的工作原理但问题是它只能重命名位于当前项目的文件夹,我希望能够选择一个目录,是否可以从过程中的位置更改它。

#include "stdafx.h"
#include <iostream>
#include <stdio.h>

int main()
{
    bool verifier;
    char oldName[] = "text.txt";
    char newName[] = "newText.txt";
    verifier = rename(oldName, newName);

    if (!verifier)
    {
        std::cout << "The file has been succesfully renamed\n";
    }
    else
    {
        std::cout << "There was a problem renaming the file\n";
    }

    return 0;
}

谢谢!

1 个答案:

答案 0 :(得分:2)

默认情况下,根目录路径是运行可执行文件的位置。如果要访问位于该位置外部的另一个文件夹,可以使用绝对路径(即C:/ path / to / old)。 TXT)。

#include "stdafx.h"
#include <iostream>
#include <stdio.h>

int main()
{
   char oldName[] = "C:\\path\\to\\your\\proj\\text.txt"; // char oldName[] = "old.txt";
   char newName[] = "C:\\test\\output\\folder\\new.txt"; // char newName[] = "newText.txt";
   bool verifier = rename(oldName, newName);

   if (!verifier)
   {
      std::cout << "The file has been succesfully renamed\n";
   }
   else
   {
      std::cout << "There was a problem renaming the file\n";
   }
   return 0;
}