你是否正在寻找关于writeprivateprofilestring的内容?让我把最有用的东西奉献给你:
本版等级:
本版专家分:0
结帖率:97.73%楼主 发表于: 2011-09-30 09:21:40
本帖最后由 blue12_sky322 于 2011-09-30 09:26:14 编辑
临时需求,我需要用C#调用这个函数写ini文件.路径写对的话可以读写.但是这个函数怎么检测写入失败呢?我看资料说是返回值非0表示成功,0表示失败.我实验时,无论如何都返回的是非0值.什么情况下它会写入失败.
分享到:
| 举报 |
编辑 删除
管理 回复次数:4本版等级:
本版专家分:373
结帖率:100%得分:0 回复于: 2011-09-30 09:37:26
函数原形是
BOOLwriteprivateprofilestring(LPCTSTRlpAppName,LPCTSTRlpKeyName,LPCTSTRlpString,LPCTSTRlpFileName);
返回值应该是bool,我们这么用是对的
[DllImport("kernel32")]
privatestaticexternboolwriteprivateprofilestring(stringsection,stringkey,stringval,stringfilePath);
[DllImport("kernel32")]
privatestaticexternboolGetPrivateProfileString(stringsection,stringkey,stringdef,StringBuilderretVal,intsize,stringfilePath);
| 举报 |
编辑 删除
管理本版等级:
本版专家分:373
结帖率:100%得分:0 回复于: 2011-09-30 09:38:47
我们用bool返回值是正确的
[DllImport("kernel32")]
privatestaticexternboolwriteprivateprofilestring(stringsection,stringkey,stringval,stringfilePath);
[DllImport("kernel32")]
privatestaticexternboolGetPrivateProfileString(stringsection,stringkey,stringdef,StringBuilderretVal,intsize,stringfilePath);
函数原形
BOOLwriteprivateprofilestring(LPCTSTRlpAppName,LPCTSTRlpKeyName,LPCTSTRlpString,LPCTSTRlpFileName);
| 举报 |
编辑 删除
管理本版等级:
本版专家分:0
结帖率:97.73%得分:0 回复于: 2011-09-30 09:44:35
对啊,我想问的是它在什么情况下会写入失败.
我故意把文件地址写成"Z:\\temp.ini"或"temp.ini",我没Z盘,并且它要求是完全路径.所以这两个地址是错的.可这个函数自己找不到文件,就把文件写在了windows系统文件夹下.所以我想不出它在什么情况下会写入失败呢
| 举报 |
编辑 删除
管理本版等级:
本版专家分:373
结帖率:100%得分:40 回复于: 2011-09-30 09:56:13
我试了,这个会分两种情况,如果制定一个不存在的路径,例如你说的"Z:\\temp.ini",那么函数会如期返回false,如果仅指定文件名,那么他会将文件写入到C:\\windows里,并返回true
读取函数的情况类似,如果指定不存在的路径,函数返回false,仅指定文件名,函数会到C:\\windows去找,找到了返回true,没找到返回false
| 举报 |
编辑 删除
管理以上就是关于writeprivateprofilestring的全部内容,相信你一定会非常满意,。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shenmilingyu/article-6883-1.html
如果钱比较闲放招财宝一年有500多