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

Vista系统下面在系统盘c盘下面用fopen创建文件遇到有关问题

2012-02-05 
Vista系统下面在系统盘c盘下面用fopen创建文件遇到问题有接触过vista系统的人吗?我想问用fopen创建的文件

Vista系统下面在系统盘c盘下面用fopen创建文件遇到问题
有接触过vista系统的人吗?我想问用fopen创建的文件在vista系统下面用创建文件有问题?   我这样用:
    FILE   *fp;    
    if(fp=fopen( "C:\\myfile.ini ", "wt+ ")==NULL)   MessageBox(NULL,_T( "can 't   open   file\n "),_T( "msg "),MB_OK);
用在window   2k下面很好,在vista下面呢,如果是在c盘创建,不成功,c盘是我的系统盘,d盘创建成功,但是我用vs2005跟踪,用GetLastError来扑捉错误码,在c和d盘创建都是同样的错误码:131   :试图移动文件指针到文件开头之前。   唯一不同是我在c盘不能创建文件。我执行的帐户都是administrator权限,都用权限操作文件。
不过我发现一个问题:我手动在vista创建文件,然后修改可以,我随便copy一份文件到c盘的任何位置,我都没有权限修改,一定要加上我当前帐户有修改权限才可以。明明属于administrator的帐号,还不容许修改文件。真的弄不懂vista的文件管理怎么做的。还有用code的产生文件,在c盘,拥有管理员的权限也不能创建文件。报131的错误。这个错误因为什么产生,要如何让它不再出现呢?请大家给点建议。谢谢。

[解决办法]
if(fp=fopen( "C:\\myfile.ini ", "wt+ ")==NULL)
==》
if((fp=fopen( "C:\\myfile.ini ", "wt+ "))==NULL)

记得好像 赋值运算符 是级别最低的吧?
用 括号修正一下运算顺序 ....
[解决办法]
You can use ShellExecute to start a secondary executable as the administrator, or separate out the necessary code into a COM object and execute that with CoCreateInstanceAdmin

热点排行