0

現在の作業ディレクトリが何であるかを調べようとしています。の一部としてと の両方_fullpathを使用してみました。ただし、8 バイトの 16 進数値 ( など) しか表示されません。_getcwd<direct.h>5504CA90

なぜこれが私に与えられるのですか?どうすれば正しいcwdを取得できますか? C++ で Visual Studio 2015 を使用しています。

私のコードは次のようになります。

std::cout << "CWD: " << _fullpath << "\n";

そして、それは私にこの出力を与えます:

CWD: 0F8CCA90

ただし、実行するたびに異なる16進値が得られます。

4

1 に答える 1

0

_fullpath/getcwdメソッドを呼び出していません。コードは単にそのアドレスを出力します。これは 16 進値で、コンソール出力に表示されます。メソッドを呼び出すには、そのパラメータを指定する必要があります:

char *_getcwd( char *buffer, int maxlen );

char szPath[255];
char* pszPath = _getcwd(szPath, sizeof(szPath)/sizeof(char));
if(pszPath)
  std::cout << pszPath << std::endl;
于 2016-04-06T04:22:37.867 に答える