2016-04-05 6 views
0

私のクラレント作業ディレクトリが何であるかを調べようとしています。私は<direct.h>の一部として_fullpath_getcwdの両方を使ってみました。しかし、それは私には8バイトの16進数の値(例えば、5504CA90)です。_fullpath Visual StudioのC++で16進値を与える

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

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

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

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

CWD: 0F8CCA90 

しかし、それは私がそれを実行するたびに異なる進値を与えます。

+0

コードを入力してください。それがなければあなたの質問は無意味です。 – Ari0nhh

+0

16進数値すべてが16進数です:)それを 'char *'と解釈してみてください。 –

+0

それを(char *)として解釈すると、 "ïUï∞j"のようなランダムな文字が生成されます。 – Nintendood

答えて

0

_fullpath/getcwdメソッドは呼び出していません。あなたのコードは単純にそのアドレスを表示します。これは、コンソール出力に入っている16進数の値です。 コール方法に、あなたはそのパラメータを供給する必要が

するchar * _getcwd(文字*バッファ、int型のmaxlen);

char szPath[255]; 
char* pszPath = _getcwd(szPath, sizeof(szPath)/sizeof(char)); 
if(pszPath) 
    std::cout << pszPath << std::endl; 
+0

私たちは行く、ありがとう! – Nintendood