2017-06-03 3 views
0

Ich habe an meinem Huffman-Projekt gearbeitet. Fast fertig, jetzt muss ich nur noch in einer Ausgabedatei speichern. Hier ist meine Dekodierfunktion.Speichern Sie eine Zeile von Daten in einer Datei

void decode(struct Node * root, int * encodeString) 
{ 
    int i; 
    struct Node * temp = root; 
    for (i = 0; encodeString[i] != -1; i++) 
{ 

      if (encodeString[i] == 1) 
    { 
        temp = temp -> right; 
      } 
    else 
    { 
        temp = temp -> left; 
      } 

      if (isLeaf(temp)) 
    { 
        printf("%c", temp -> character); 
        temp = root; 
      } 

    } 

} 

in Hauptfunktion aufrufen

decode(start, encodedString); 
    printf("\n"); 

Ergebnis der Dekompression:

Fred Fish 1 2 3 4 5 6 7 8 9 10 

ich es später nennen wird in der Hauptfunktion. Wenn ich anrufe, würde die decodierte Zeichenfolge gedruckt werden. Gibt es eine Möglichkeit, diese Zeichen zu lesen? Ich ging nicht mit fgets(), weil ich die Größe der Zeichen nicht kenne. Ich habe versucht scanf ("% 99c", Zeile), aber es funktioniert nicht, bitte geben Sie

+1

Frage ist zu speichern oder zu lesen? – LearningC

+0

@LearningC Die Frage ist, eine Ausgabedatei der dekomprimierten –

+0

Check über Datei lesen/schreiben Operationen in c. – LearningC

Antwort

0

Um in der Lage zu sein, etwas auf eine Datei zu drucken, müssen Sie zuerst die gewünschte Datei öffnen. Verwenden Sie dazu die Funktion fopen.

Wenn Sie den Modusparameter auf "r" setzen, können Sie nur aus dieser Datei lesen. Wenn du schreiben willst, wie du gesagt hast, benutze die Option "w".

Sie können auf die Datei schreiben, indem Sie eine der verfügbaren Funktionen wie fwrite verwenden. Aber es gibt noch einige andere, nur forschen Sie.

Wenn Sie fertig sind, vergessen Sie nicht, die zuvor geöffnete Datei durch einen Anruf an fclose zu schließen.

Verwandte Themen