使用C++访问桌面上的文件

dat*_*ili 2 c++

我使用的是Windows 7,我在桌面上创建了一个名为的文件 test.txt.如何使用C++访问此文件?例如,请考虑以下代码:

#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;

int main(int argc, char *argv[])
{

  fstream inout("test.txt", ios::in | ios::out | ios::binary);

  if(!inout) {
    cout << "Cannot open input file.\n";
    return 1;
  }

  long e, i, j;
  char c1, c2;
  e = 5;

  for(i=0, j=e; i<j; i++, j--) {
    inout.seekg(i, ios::beg);
    inout.get(c1);
    inout.seekg(j, ios::beg);
    inout.get(c2);

    inout.seekp(i, ios::beg);
    inout.put(c2);
    inout.seekp(j, ios::beg);
    inout.put(c1);
  }

  inout.close();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

在片段中fstream inout("test.txt", ios::in | ios::out | ios::binary),我应该更改什么来访问桌面上的test.txt?

Tra*_*ian 8

您是否在询问如何从程序中访问该文件位置?如果是这样,您需要将文件和可执行文件放在同一目录中,或者包含文件位置的完整路径:

"%USERPROFILE%\\Desktop\\test.txt"
Run Code Online (Sandbox Code Playgroud)

除非有一个完整的文件路径从驱动器盘符开始(变量%USERPROFILE%计算为C:\用户\ {用户名}你的情况)的可执行文件会寻找相对于其自身位置的文件.由于您的字符串仅包含文件名,因此它将在其自己的目录中查找.