Lesen Sie jede Zeile aus einer Datei, und teilen Sie die Zeile in einen string und ein array in C

Hausaufgaben - ich habe eine Zuweisung zu schreiben, ein Programm, eine Datei Lesen. Die Datei sieht wie folgt aus:

B 34 55 66 456 789 78 59 2 220 366 984 132 2000 65 744 566 377 905 5000
I 9000
I 389
Dm
DM

Wo B ist bauen ein binary heap aus einem array von zahlen(die zahlen hinter der B.
Ich ist, legen Sie eine Zahl in das array/heap
Dm ist löschen, minimum und DM ist löschen maximum.

Ich geschrieben habe, der code für den heap, und kann füllen ein array mit random numbers. Mein problem ist zu Lesen, dass first line und analysieren Sie in eine string B und ein array.

Habe ich versucht mit dem folgenden code, der aber offensichtlich funktioniert es nicht.

char line[8];
char com[1];
int array[MAX] //MAX is pre-defined as 100

FILE* fp = fopen( "input_1.txt", "r" );
if( fp )
{
    while( fgets ( line, sizeof(line), fp ) != NULL  )
    {
        sscanf(line, "%s" "%d", &com, &array );
        ... //Following this, I will have a nested if that will take
        each string and run the appropriate function.

        if ( strcmp( com, "B" ) == 0 )
        {
            fill_array( array, MAX );
            print_array( array, MAX );
        }        

Habe ich gelesen, für über 6 Stunden über insgesamt 3 Tage und finde keine Lösung zu meinem problem. Jede Hilfe wäre toll.

InformationsquelleAutor razielxx | 2012-11-30
Schreibe einen Kommentar