Announcement

Collapse
No announcement yet.

Brauche Hilfe beim Befehl GetPrivateProfileString

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Brauche Hilfe beim Befehl GetPrivateProfileString

    Hallo! Ich hab ein kleines Problem! Und zwar was muss ich tun um die Daten in einer Inidatei ändern zu können! Ich schreibe das Programm mit Visual C++ 6 Autoren Edition. Ich habe mit WriteProfileString die Daten eingelesen und mit GetProfileString die Daten Ausgeben wollen! Den er schreibt die Strings immer am Ende der Datei dazu. Ich weiß, dass der Befehl fopen schuld daran ist! Aber ich brauch den Befehl um in die Ini Datei mit dem Befehl fprintf reinzuschreiben! Wisst ihr wie ich das meine? Wenn nicht! Hier ein kleines Beispiel:

    [GLOBALS]
    GPIB=DUMMY

    so das "DUMMY" möchte ich jetzt in einen anderen Wert umändern z.b. in Monitor. Das er das so in der Inidatei ausgibt!

    [GLOBALS]
    GPIB=Monitor

    Ich schicke euch einen Teil des Codes den ich geschrieben habe!

    case WM_COMMAND:
    TCHAR szText [1024];

    GetWindowText (hEdit, szText, strlen (szText));

    // Druch Drücken der Schaltfäche werden
    // die Daten in die Datei geschrieben
    if (LOWORD (wParam) == ID_BUTTON)
    {
    file = fopen ("utm.ini", "a");
    if (file == NULL)
    {
    MessageBox (NULL, "Die Datei konnte nicht geöffnet werden!", szAppName, MB_ICONERROR);
    }
    else
    {

    WritePrivateProfileString ("GLOBALS", "GPIB", szText, "utm.ini");
    GetPrivateProfileString ("GLOBALS", "GPIB", "DUMMY", szText, strlen (szText) + 1, "utm.ini");
    fprintf (file, "%s", szText);
    }

    }

    return 0;

  • #2
    Also erstmal steht in der Hilfe für GetPrivateProfileString ja was wie:
    This function is provided for compatibility with 16-bit Windows-based applications. WIn32-based applications should store initialization information in the registry.

    Warum speicherst Du es nicht einfach in der Registry mit WriteProfileString().

    Im Moment hängst Du einfach szText ans Ende der Datei (ist das "a" in fopen). Du bekommst also das gleiche, wenn Du WritePrivateProfileString und GetPrivateProfileString wegläßt.
    Was ist denn der Rückgabewert der WritePrivateProfileString-Funktion?

    Hast Du Dir mal die Hilfe (mit Beispiel-Code) angeschaut?
    <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/writeprivateprofilestring.asp"> Hilfeseite</a&gt

    Comment

    Working...
    X