Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Fprintf problem program nicht ausgeführt

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
16.01.2006, 22:59 Uhr
Kabel



Hallo,

ich hab hier voll das peinliche Problem, irgendwie bring ich es mit fprintf nicht fertig einen Text in eine Datei zu speichern.

Hier ist mein Quelcode:

Code:
#include <iostream>
#include <stdio.h>
#include <string>

int main()

{
    FILE* datei1;
    datei1=fopen("datei.txt","w+");
    datei1=fopen("datei.txt","r+");

std::string Make;
    Make = "Text";
    fprintf(datei1, "%s\n", Make);
    std::cout <<Make;
...



Das Programm hängt sich bereits vor dem std::cout auf, woran kann das liegen?
ich würde mich über etwas Hilfe freuen :). Mh, was braucht ihr noch für Infos? Ich programmiere das in MS Visual Studio C++. BEim compilen und Linken hab ich keine Fehlermeldungen und auch leine Warnungen.

mfg
Kabel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.01.2006, 23:31 Uhr
Pablo
Supertux
(Operator)


Tja, du solltest entweder C oder C++ schreiben, eine so schreckliche Mischung aus C und C++ führt nur zu einer Katsatrophe.

fprintf ist C, also kennt keine std::string und arbeitet mit char*
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
16.01.2006, 23:37 Uhr
0xdeadbeef
Gott
(Operator)


In diesem speziellen Fall liegt es daran, dass du die Datei zum lesen öffnest, den zum schreiben geöffneten Deskriptor wirfst du dabei einfach weg. Besser noch wäre es, die fstream-Klassen der STL dafür zu benutzen, dann hastes auch gleich in C++:

C++:
#include <fstream>
#include <iostream>
#include <string>

int main() {
  std::ofstream file("datei.txt");
  std::string Make = "Text";

  file << Make << std::endl;
  std::cout << Make << std::endl;

  // ...
}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
17.01.2006, 17:20 Uhr
Kabel



Hallo,

ich danke euch sehr
Es funktioniert einwandfrei, thx.

Ich dachte es sei C++, darum hab ich nicht weitergesucht. Ich bin also auch sehr dankbar für den Hinweis dass es C ist.

thx,

mfg
Kabel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
17.01.2006, 17:35 Uhr
Kabel



Mh hab allerdings jetzt ein anderes Problem. Ich möchte die gespeicherte Datei (batch file) jetzt ausführen. Aber das ohne die Funktion "system" zu benutzen, wie kann ich das einrichten?

Ich habs mit file öffnen versucht aber das geht irgendwie nicht :/

Kann mir da noch bitte einer einen Tipp geben?

Ich danke im Vorraus,

mfg
Kabel
 
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: