You are not logged in.

  • Login

1

Friday, October 20th 2006, 7:18am

Kein fstream innerhalb von WinMain?

Diesem Code nach funktioniert das Programm,
ICQ wird ausgeführt. Eine Textdatei wird aber
nicht auf dem Desktop angelegt!

C Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
#include <windows.h> 
#include <fstream>
 
int WINAPI WinMain (HINSTANCE, HINSTANCE, PSTR, int) {
  fstream f;
  f.open("test.txt");    
  f << "test" << endl;
  f.close();
 
  WinExec ("C:\\Programme\\ICQLite\\ICQLite.exe", SW_NORMAL);
  return 0;
}


Kann mir schnell jemand sagen, warum?

2

Friday, October 20th 2006, 9:32am

Vielleicht musst du den Desktop auch noch angeben.

So wie ich das sehe, ist da kein Pfad angegeben. Weiß ja nicht ob der Desktop als Standard festgelegt ist, aber ich kenn es so, dass man immer nen Pfad mit angibt.

Allerdings kenn ich mich mit C unter Windows nicht aus.


cya

3

Friday, October 20th 2006, 9:32am

Es fehlt der Namespace std!
nach den Includes:

C Quellcode

1
using namespace std;

4

Friday, October 20th 2006, 7:08pm

Nach using namespace std wurde es compiliert und
ICQ wird bei mir auch ausgeführt bei Doppelklick.

Nur wird immernoch keine txt-Datei erstellt,
selbst mit einem absoluten Pfad!

5

Friday, October 20th 2006, 8:25pm

Der Default Öffnungsmodus von fstream ist ios::out|ios::in wodurch aber nur ne existierende Datei zum Lesen und schreiben geöffnet wird.
Entweder nimmst du nur :

C Quellcode

1
std::fstream f("test.txt",std::ios::out);

oder gleich nen reinen ofstream. Der erzeugt standardmässig die Datei wenn diese nicht existiert.

C Quellcode

1
std::ofstream f("test.txt");


Gruß void

6

Saturday, October 21st 2006, 5:32am

Ja, das war's! Danke!

Similar threads

Social bookmarks