0x6*_*C74 1 c++ windows winapi
#ifndef UNICODE
#define UNICODE
#endif
#include <Windows.h>
#include <cstdio>
TCHAR* getSystemVolumine()
{
TCHAR volumine[2];
TCHAR buffer[30];
GetSystemWindowsDirectory(buffer,30);
for(int i=0 ; i < 2 ; i++)
volumine[i]=buffer[i];
return volumine;
}
int main()
{
wprintf(L"Your system volumine letter%s\n",getSystemVolumine());
system("pause");
}
Run Code Online (Sandbox Code Playgroud)
我不知道这段代码有什么问题。调试未显示错误或警告,但输出为:
Your system volumine letter
Press any key to continue...
Run Code Online (Sandbox Code Playgroud)
您正在返回一个指向局部变量的指针,当函数返回时,该变量不再存在 wprintf 的字符串必须以 '\0' 结尾。
#include <Windows.h>
#include <cstdio>
void getSystemVolumine(TCHAR *vol)
{
TCHAR buffer[30];
GetSystemWindowsDirectory(buffer,30);
for(int i=0 ; i < 2 ; i++)
vol[i]=buffer[i];
vol[2] = 0;
}
int main()
{
TCHAR vol[3];
getSystemVolumine(vol);
wprintf(L"Your system volumine letter %S\n",vol);
system("pause");
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2675 次 |
最近记录: |