#include <iostream> #include <Windows.h> #include <atlconv.h> int main(int argc, char **argv) { TCHAR buffer[_MAX_PATH] = {0}; USES_CONVERSION; GetCurrentDirectory(_MAX_PATH, buffer); std::cout << W2CA(buffer) << std::endl; return 0; } 如果定义了一个字符数组,并赋初值,直接用cout是不能正确输出的。原因,看TCHAR在的定义,略。