【问题标题】:_fullpath Giving Hex Value in Visual Studio C++_fullpath 在 Visual Studio C++ 中给出十六进制值
【发布时间】:2016-07-24 20:56:00
【问题描述】:

我正在尝试找出我的当前工作目录是什么。我尝试使用_fullpath_getcwd 作为<direct.h> 的一部分。但是,它给我的只是一个 8 字节的十六进制值(例如 5504CA90)。

为什么它给我这个,我怎样才能得到正确的 cwd?我在 C++ 中使用 Visual Studio 2015。

我的代码如下所示:

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

它给了我这个输出:

CWD: 0F8CCA90

但是,每次我运行它时,它都会给我一个不同的十六进制值。

【问题讨论】:

  • 请提供您的代码。没有它,你的问题毫无意义。
  • 十六进制值???一切都是十六进制的 :) 尝试将其解释为 char *
  • 将其解释为 (char *) 会产生随机字符,例如“ï Uï∞j”。

标签: c++ visual-studio visual-studio-2015 directory getcwd


【解决方案1】:

您没有调用_fullpath/getcwd 方法。您的代码将简单地打印其地址。这是十六进制值,您将进入控制台输出。要调用方法,你必须提供它的参数

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

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

【讨论】:

    猜你喜欢
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    • 2011-06-01
    • 1970-01-01
    • 2018-08-26
    相关资源
    最近更新 更多