Wie kann ich eine Datei verschieben Zeiger auf die nächste Zeile in einer Datei?

Ich bin versucht zu schreiben, eine Funktion, liest eine Zeile, speichert jedes Zeichen in ein array manipuliert, dass die Zeichen-array, druckt die Ergebnisse auf eine andere Datei, dann geht es weiter zu der nächsten Zeile in der Datei.

Einige Beispiel für die Eingabe/Ausgabe würde wie folgt Aussehen (der Zweck des Programms ist das finden der Ableitung aber, dass ein Teil der code ist in Ordnung.):

INPUT:
x
4x^4
91
sinx

OUTPUT:
1
16x^3
0
cosx

Die Funktion, die ich bisher geschrieben haben:

int main(){

    FILE *inptr = fopen("functions.txt", "r");
    FILE *outptr = fopen( "derive.txt", "w");

    if(inptr)
        derive(inptr,outptr);

    return 0;
}

void derive(FILE *inptr, FILE *outptr){
    int i;
    char in = '0';
    char array[MAX];

    while((in = fgetc(inptr)) != EOF){
        for(i = 0; in != '\n'; i++){
            fscanf(inptr, "%c", &in);
            array[i] = in;
        }
        manipulate(array, outptr); //Function that finds the derivative and prints to output file
    }
}

Meine Frage ist: Wie kann ich die verschieben den Datei-Zeiger inptr in die nächste Zeile?

Was ist falsch mit fgets?
char line[12345]; while (fgets(inptr, line, sizeof line)) /* deal with line */;

InformationsquelleAutor jkm | 2015-05-01

Schreibe einen Kommentar