セクションヘッダーを含まないiniファイルからキー値を読み取るためにC#コードを記述しようとしています。 (hereを述べたように)セクションヘッダーなしの.iniファイルからキー値を読み取る
private static extern int GetPrivateProfileString(string section, string key,string def, StringBuilder retVal,int size,string filePath);
機能、この場合には動作しないように、私は、挿入されたセクションヘッダを持つ別のiniファイルを作成しようとしました。次に、GetPrivateProfileString関数を使用してキー値を読み取りました。 iniファイルは期待通りに作成されていますが、関数は結果としてnull値を与えています。どこが間違っていたのですか?
は、コードスニペットは、それは間違っているのGetPrivateProfileStringに渡されるパスです
//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);
}
http://stackoverflow.com/questions/217902/reading-writing-an-ini-fileが役立つかどうかをご覧ください。 – qxg
悪い考えのように聞こえます。リンクされたポストはdtbによる素晴らしいLinqの回答を持っています。 - 'File.Exists(userFilePath)'の代わりに、 'Directory.Exists(userFilePath)'をなぜ使わないのでしょうか? – TaW