【问题标题】:read key value from .ini file without section header从没有节头的.ini文件中读取键值
【发布时间】:2016-10-14 09:26:03
【问题描述】:

我正在尝试编写 c# 代码以从不包含节标题的 ini 文件中读取键值。作为

 private static extern int GetPrivateProfileString(string section,       string key,string def, StringBuilder retVal,int size,string filePath);

函数在这种情况下不起作用(如提到的here),我试图创建另一个插入节头的ini文件。然后使用 GetPrivateProfileString 函数读取键值。 ini 文件按预期创建,但函数给出空值作为结果。我哪里出错了?

下面给出代码sn-p

//someFilePath contains .ini file 
string userFilePath = "someFilePath";
string sectionName = "TempSectionHeader";
string copyFile = "text.ini";
if (File.Exists(userFilePath))
{   
       if(File.Exists(copyFile))
       {
           File.Delete(copyFile);
       }

       File.AppendAllText("text.ini", "["+ sectionName + "]");
       string contents = File.ReadAllText(userFilePath);
       contents = contents.Replace("\0", "");
       File.AppendAllText(copyFile, "\r\n");
       File.AppendAllText(copyFile, contents);
       installName = ReadValueFromINIFile(sectionName, "installName", copyFile);
       MessageBox.Show(installName);
}

【问题讨论】:

标签: c# ini


【解决方案1】:

传递给 GetPrivateProfileString 的路径是错误的。尝试使用:

string installName = ReadValueFromINIFile(sectionName, "installName", Path.Combine(Application.StartupPath, copyFile));

【讨论】:

  • 谢谢。传递给 GetPrivateProfileString 的路径错误Path.Combine(AppDomain.CurrentDomain.BaseDirectory,copyFile) worked for me
猜你喜欢
  • 2012-10-09
  • 2015-02-17
  • 2012-09-23
  • 2014-02-20
  • 2022-01-21
  • 2012-06-29
  • 2013-08-02
  • 2013-10-15
  • 2017-04-10
相关资源
最近更新 更多