C#下写INI文件,值写入不进去的问题???

流浪孩儿 2008-12-11 11:23:13
C#调用
WritePrivateProfileString写INI文件,程序中设断点监视,此函数的返回值为非零,表明已经写入成功了,可为什么我的INI文件里仍然是空值呢?!
...全文
951 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhh9719 2009-01-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 letian_fly 的回复:]
引用 4 楼 thc1987 的回复:
不去要这么麻烦的,在创建的过程中就可以直接写了
例如:
WritePrivateProfileString("节点", "QQ", "123456789", "C:\\1.ini");
这样就会在C盘建立个1.ini文件里面的内容如下:
[节点]
QQ=123456789

试了一下,果然如此,十分感谢
[/Quote]

有点不明白,我用这句话不能写进去,还是空白
WritePrivateProfileString("节点", "QQ", "123456789", "C:\\1.ini");
烈火蜓蜻 2008-12-11
  • 打赏
  • 举报
回复
写INI我看你干脆自己写得了,还调API多费事
猿敲月下码 2008-12-11
  • 打赏
  • 举报
回复
不去要这么麻烦的,在创建的过程中就可以直接写了
例如:
WritePrivateProfileString("节点", "QQ", "123456789", "C:\\1.ini");
这样就会在C盘建立个1.ini文件里面的内容如下:
[节点]
QQ=123456789
流浪孩儿 2008-12-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jummy_lin 的回复:]
WritePrivateProfileString("Database", "LogID", strUserName, strConfigPath);
是不是你给的节点名不存在?
[/Quote]

就是先创建了个空的INI文件,然后往里写进数据,第一次节点肯定不存在啊???!
难道还先要手动添一下节点吗??
jummy_lin 2008-12-11
  • 打赏
  • 举报
回复
//引入写ini文件信息的系统函数
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);

//引入读ini文件信息的系统函数
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);

public static string getConfigPath()
{
//找到Config文件的全名
String strTemp = System.Windows.Forms.Application.StartupPath;
StringBuilder sbConfig = new StringBuilder();
sbConfig.Append(strTemp);
sbConfig.Append("\\");
sbConfig.Append("Config.ini");

//将Config文件全名转化为字符串返回
return sbConfig.ToString();
}
string strConfigPath = getConfigPath();
string strUserName = this.txtUserName.Text;
string strUserPass = this.txtPassword.Text;


WritePrivateProfileString("Database", "LogID", strUserName, strConfigPath);
是不是你给的节点名不存在?
猿敲月下码 2008-12-11
  • 打赏
  • 举报
回复
代码贴下
流浪孩儿 2008-12-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 thc1987 的回复:]
不去要这么麻烦的,在创建的过程中就可以直接写了
例如:
WritePrivateProfileString("节点", "QQ", "123456789", "C:\\1.ini");
这样就会在C盘建立个1.ini文件里面的内容如下:
[节点]
QQ=123456789
[/Quote]

试了一下,果然如此,十分感谢
justindreams 2008-12-11
  • 打赏
  • 举报
回复
.Net不推荐使用INI,建议使用XML
龙宜坡 2008-12-11
  • 打赏
  • 举报
回复
难道非要调API?

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧