Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » fgets

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.05.2004, 13:32 Uhr
~Sloth
Gast


Wie funktioniert der befehl fgets? Ich muss aus einer Datei stings mit einem leerzeichen einlesen können, dass geht bja mit fscanf nicht aber wie müßte ich das:


C++:
int laden(int *lang, struct video nr[])
{
    int i, anzahl=0;
    char dateiname[15];

    system("CLS");
    printf("Laden\n\n");
    FILE *datei;
    
    printf("Dateiname: ");
    scanf("%s",dateiname);
    datei = fopen(dateiname,"r");
    if(!datei)
    {
        _setcursortype(_NOCURSOR);
        printf("Ladefehler von: %s",dateiname);
        getch();
        _setcursortype(_NORMALCURSOR);
        return(-1);
    }
    fscanf(datei,"%i\n",&anzahl);
    for(i=0;i<anzahl;i++)
    {
        fscanf(datei,"%s\n",nr[i].titel);
        fscanf(datei,"%s\n",nr[i].kat);
        fscanf(datei,"%i\n",&nr[i].dauer);
        fscanf(datei,"%f\n",&nr[i].mb);
        fscanf(datei,"%s\n",nr[i].format);
        fscanf(datei,"%s\n",nr[i].sprache);
        fscanf(datei,"%i\n\n",&nr[i].fsk);
    }
    fclose(datei);
    _setcursortype(_NOCURSOR);
    printf("%i Messwertpaare geladen\n\n\n",anzahl);
    printf("Weiter geht's per Tastendruck!");
    getch();
    _setcursortype(_NORMALCURSOR);
    *lang = anzahl;
    return 0;
}



ändern, damit ich fgets oder wscanf benutzen kann?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.05.2004, 13:50 Uhr
~Sloth
Gast


So, hat sich grad erledigt! Weiß jetzt wie geht!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
24.05.2004, 14:17 Uhr
~Sloth
Gast


Hat sich doch nicht erledigt, wenn ich die jetzt einlese, macht der noch immer zusätzlich einen "\n" und ich kann ja immer nur eine bestimmte anzahl einlesen:


C++:
fgets(nr[i].sprache,25,datei);



wenn der string jetzt kürzer als 25 ist kommt der durch einander! Wie kann ich das machen, dass der auch n string der ein Leerzeichen hat richtig läd und auch die länge stimmt.

Dieser Post wurde am 24.05.2004 um 17:39 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
24.05.2004, 16:40 Uhr
~Sloth
Gast


Ach, bin doch schlauer als ich gedacht hatte ;-)! Es scheint daran zu liegen, dass das nicht n return macht sondern n lf also 10 statt 13!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: