m0_58015531 2021-05-16 18:01 采纳率: 100%
浏览 108
已结题

C#循环写ini配置,怎么换行不覆盖前面的内容?

读dataGridView的数据,循环写配置,怎么会覆盖前面的内容,只会写出一个配置,请问该怎么换行?

其中:循环写的同一个节点(不变)、键是会变的,值也是会变的,但循环写出所有键与值,后一个键与值总是会覆盖前面的键与值?如何换行写出所有键与值,不覆盖前面的键与值?

for (int i = 0; i < dataGridView1.RowCount; i++)

{

  string neme = dataGridView1.Rows[i].Cells[0].Value.ToString();

  IniWrite("节点",  “key_num”,“value_name”,filepath + "\\test.ini");

}

备注:上面的键key_num与值value_name是循环取到的,会变化,节点是通一个节点。

  • 写回答

2条回答 默认 最新

  • 纯阳真人 2021-05-17 10:49
    关注

    我用的是kernel32这个库的WritePrivateProfileString方法

     /// <summary>
            /// 写入ini
            /// </summary>
            /// <param name="section">节点名</param>
            /// <param name="key">键</param>
            /// <param name="val">值</param>
            /// <param name="filepath">路径</param>
            /// <returns></returns>
            [DllImport("kernel32")]
            private static extern long WritePrivateProfileString(string section, string key, string val, string filepath);

    我要写的内容放入一个字符串数组,然后循环写入就行了

    路径决定写入的是哪个文件,节点“section”决定该文件中的指定节点内容。

    这个函数的意思就是在指定ini文件中的指定节点中,写入一队键值,如果该文件中存在该键值队,则修改对应键的值,如果没有该键值队,则以该键值新增。

    具体用法你可以百度一下这个函数

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月3日

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置