首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

等待解惑_在桌面上生成一个txt文件,该如何处理

2012-04-05 
等待解惑_在桌面上生成一个txt文件在桌面上生成一个txt文件,最近学c++的时候,有些疑惑,如果在桌面上生成一

等待解惑_在桌面上生成一个txt文件
在桌面上生成一个txt文件,最近学c++的时候,有些疑惑,如果在桌面上生成一个txt文件,那么,代码中保存地址设置成才"C://users//administrator//desktop"的地址,然后,文件确实生成了,但是并没有在我的桌面上,原因是,我更改了用户名是叫clover,不是administrator,文件被生成在administrator目录下的desktop里了而非我当前的我当前用户目录下的desktop,如果把输出地址改成...clover//desktop的话,就可以顺利在桌面生成,
但是问题是,我不可能预测到别的电脑上是否更改用户名称,也不知道到底改成什么,原谅我问这么傻的问题,
我想应该有一些其他的方法可以完成这样的操作,而不是像我这样做~~,麻烦点拨一下我吧,这里先谢过了~~
——cloverever



[解决办法]
windows上有系统api支持读取用户的默认路径。其中包括我的文档,我的收藏,桌面之类的路径
[解决办法]

我教你。

C/C++ code
#include <iostream>using namespace std;#include <windows.h>#include <shlobj.h>int main(){    char path[ MAX_PATH ];    if (SHGetFolderPathA( NULL, CSIDL_PROFILE, NULL, 0, path ) != S_OK)    {        cout << "I could not retrieve the user's home directory!\n";    }    else    {        cout << "Home directory = \"" << path << "\"\n";    }    if (SHGetFolderPathA( NULL, CSIDL_LOCAL_APPDATA, NULL, 0, path ) != S_OK)    {        cout << "I could not retrieve the user's application data directory!\n";    }    else    {        cout << "Application data directory = \"" << path << "\"\n";    }    return 0;}
[解决办法]
先获取桌面路径!好像是下面那个,你在查查API吧!
TCHAR path[255];
SHGetSpecialFolderPath(0,path,CSIDL_DESKTOPDIRECTORY,0)
[解决办法]
楼主别慌 山人自有妙计SHGetFolderPathA去MSDN查用法

热点排行
Bad Request.