Announcement

Collapse
No announcement yet.

Config Dateien schreiben

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

  • Config Dateien schreiben

    Hallo,<br>folgendes Problem:<p>
    Ich möchte eine Datei lese und schreib Klasse in VC6 erstellen für Configdateien erstellen.<br>
    Das Auslesen eines gesuchten Parameters mit dazugehörigem Wert funktioniert. Nun möchte ich aber einen gesuchten Wert ändern.(folgender Code)<p>
    <PRE>
    // schreibt einzelne werte in das config.cfg file
    void CConfigFile::FileSchreiben(
    {
    CString stemppara, stempwert;
    float ftempwert;
    long laenge=0;
    //datei öffnen
    FILE *gstream = fopen( "config.cfg", "r+t" );
    if( gstream == NULL )
    {
    AfxMessageBox("Die Datei config.cfg konnte nicht geöffnet werden!",MB_OK|MB_ICONSTOP);
    }
    else
    {
    // auf dateianfang springen
    fseek( gstream, 0L, SEEK_SET );

    // solange die datei durchsuchen, bis das suchwort gefunden wurde
    while ( !feof( gstream ) )
    {
    // auslesen des dateiinhalts
    fscanf( gstream, "%s%f", stemppara, &ftempwert );
    if ( stemppara == m_sSuchPara )
    {
    stempwert.Format("%0.f", ftempwert);
    laenge = (strlen(stemppara))+(strlen(stempwert))+1;
    laenge = laenge - ( 2 * laenge );
    fseek( gstream, laenge, SEEK_CUR );

    //aktuelle werte wieder in datei schreiben
    fprintf( gstream, "%s %.0f\n",m_sSuchPara, m_fSuchWert );
    break;
    }
    fscanf( gstream, "%s%f\n", stemppara,&ftempwert );

    }
    // beenden des streams
    fclose( gstream );

    AfxMessageBox("Daten wurden gespeichert.");
    }

    }
    </PRE>
    <br><br>
    leider wird der alte wert nicht überschreiben. der neue wert schreibt sich an das ende der datei.<br>
    <br>freue mich über jegliche Hilfe

  • #2
    Hallo,

    wenn du den wert schon gefunden hast, dann muesste doch eigentlich auch ein "replace" ausreichen, oder etwa nicht?

    gruss
    sve

    Comment

    Working...
    X