J'essaye d'écrire du code C# pour lire la valeur clé d'un fichier ini qui ne contient pas un en-tête de section. Commelire la valeur de clé du fichier .ini sans en-tête de section
private static extern int GetPrivateProfileString(string section, string key,string def, StringBuilder retVal,int size,string filePath);
fonction
ne fonctionne pas dans ce cas (comme mentionné here), j'ai essayé de créer un autre fichier ini avec en-tête de section insérée. Ensuite, la fonction GetPrivateProfileString a été utilisée pour lire la valeur de clé. Le fichier ini est créé comme prévu, mais la fonction donne une valeur nulle comme résultat. Où ai-je mal tourné?
L'extrait de code est donnée ci-dessous
//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);
}
Voir si http://stackoverflow.com/questions/217902/reading-writing-an-ini-file aide. – qxg
Cela ressemble à une mauvaise idée. Le post lié a une bonne réponse de Linq par dtb, c'est probablement difficile à surmonter. - Aussi, au lieu de 'File.Exists (userFilePath)' pourquoi pas 'Directory.Exists (userFilePath)' ?? – TaW