Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » fscanf problem

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 < [ 2 ]
000
16.12.2003, 23:22 Uhr
~Checker
Gast


Brauche c-code!!!!

Also ich möche diese Zeichenkette in eine datei speichern:

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows %s" /fastdetect/Kernel=%s.exe

an den stellen %s soll er einen string einsetzen. Habe nur jetzt das prob, dass er wegen den "" "das Micresoft Wi....." nciht nehmen will was ja auch logisch ist. mein zweites prob ist das er bei dem \ denkt es wäre ein eine nicht abgeschlossene zeichen kette oder so ähnlich.

habe bei einer printf ein ähnliches prob:

printf("Bitte geben sie den Namen der datei ein:\nC:Windows\system32\");

Da motz er auch wegen dem \

ich hoffe mir kann jemand helfen.

Dieser Post wurde am 16.12.2003 um 23:28 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.12.2003, 23:23 Uhr
Pablo
Supertux
(Operator)


Wie hast du ssacnf aufgerufen? Zeig deinen Code.


Bearbeitung von Pablo:

Bsp mit sscanf.


C++:
char* format ="Das 10 ist";
char text[255];
char str1[255], str2[255];
int d;
sscanf(format, "%s%d%s", str1, &d, str2);




--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 16.12.2003 um 23:27 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
16.12.2003, 23:25 Uhr
Checker



das ist meine funktion:

C++:
int speichern(char dateiname[], char bootscreenname[])

    {
    FILE *fp;

    fp = fopen("bootscr.txt", "a");

    if(fp == NULL)
        {
        return (0);
        }


    fprintf(fp, "int speichern(char dateiname[], char bootscreenname[]")

    {
    FILE *fp;

    fp = fopen("bootscr.txt", "a");

    if(fp == NULL)
        {
        return (0);
        }


    fprintf(fp, "multi(0)disk(0)rdisk(0)partition(1)");
    fprintf(fp, "WINDOWS=Microsoft Windows %s /fastdetect/Kernel=%s.exe\n", bootscreenname, dateiname);

    fclose(fp);        

    return (1);

    fclose(fp);        

    return (1);
    }




Bearbeitung von Pablo:

CPP Tags gesetzt. Bitte selber benutzen.


Dieser Post wurde am 16.12.2003 um 23:29 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
16.12.2003, 23:31 Uhr
Pablo
Supertux
(Operator)


Wozu fprintf(fp, "int speichern(char dateiname[], char bootscreenname[]")? (ohne Semikolon?) Nur um zu wissen, dass die Funktion aufgerufen wurde?

Und was ist das Problem? Ich erkenne keinen Fehler.


Bearbeitung von Pablo:

Da du ja nicht dateiname und bootscreenname änderst, würde ich so machen:

C++:
int speichern(char* dateiname, char* bootscreenname);




--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 16.12.2003 um 23:33 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
16.12.2003, 23:39 Uhr
Checker



sry war ein fehler drin habe was falsch gepostet:


C++:
int speichern(char dateiname[], char bootscreenname[])

    {
    FILE *fp;

    fp = fopen("bootscr.txt", "a");

    if(fp == NULL)
        {
        return (0);
        }


    fprintf(fp, "multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows %s" /fastdetect/Kernel=%s.exe", bootscreenname, dateiname);


    fclose(fp);

    return (1);
    }



wie du siehst nimt er jetzt das "Microsoft windows %s" nicht mehr rein, und wenn ich es ohne die "" teste dann schreibt er \Windows nur als Windows ohne backslash

Dieser Post wurde am 16.12.2003 um 23:40 Uhr von Checker editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
16.12.2003, 23:41 Uhr
Pablo
Supertux
(Operator)


Ach so, du willst die "-Zeichen auch schreiben. Dann tue folgendes;

C++:
fprintf(fp, "multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=\"Microsoft Windows %s\" /fastdetect/Kernel=%s.exe", bootscreenname, dateiname);


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
16.12.2003, 23:43 Uhr
0xdeadbeef
Gott
(Operator)


Vergiss nicht, den Backslash auch zu escapen.

C++:
fprintf(fp, "multi(0)disk(0)rdisk(0)partition(1)\\WINDOWS=\"Microsoft Windows %s\" /fastdetect/Kernel=%s.exe", bootscreenname, dateiname);


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
16.12.2003, 23:45 Uhr
Pablo
Supertux
(Operator)


Stimmt, das habe ich nicht gesehen. (Es fehlt ein -Mann, bin ich blind- Smily)
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
16.12.2003, 23:48 Uhr
0xdeadbeef
Gott
(Operator)


Nimm den:
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
16.12.2003, 23:50 Uhr
Checker



cool danke
Dieser Post wurde am 16.12.2003 um 23:51 Uhr von Checker editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ 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: