Daten in Textfile übertragen

Hallo

keine Angst ich weiss eigentlich wie das geht! Nur: Ich hab ein Primzahlenprogramm geschrieben, und möchte das ergebniss in einer txt datei haben,
FILE *datei;
datei = fopen(„primzahlen.txt“, „at“ );

fprintf(datei,"%d%s",prime," ist eine Primzahl\n");
fclose(datei);
aber, wenn ich das Programm bei 67 angekommen ist, so gibt’s ne ungültige schutzverletzung(Windows);
also: was mache ich falsch?
Gibt es eine höchstgränze in txtdateien??
Hier noch der Quellcode(der Compiler ist übrigends Borland C++ 5.5:

#include
#include

void checkofprime(unsigned short int prime);

int main()
{
unsigned short int prime;
cout>prime;
int i;
for (i=2;i

Hallo!
Auf den ersten BLick fällt mir auf, daß du die Datei nur im Falle einer Primzahl schließt.
Ich glaube du solltest die Zeile fclose(datei); ausserhalb der IF Bedingung schreiben!
Du solltest ausserdem Prüfen, ob das Öffnen der Datei gut gegangen ist (NULL Pointer Assingment).
Gruß Pauli!

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi,

keine Angst ich weiss eigentlich wie das geht!

Naja ;->

Ich hab versucht, das zu kompilieren, aber er hat conio nicht gefunden … finde ich eh Quatsch, conio zu verwenden. Also habe ich das schnell ein bisserl umgeschrieben. Dann stuerzt es allerdings auch nicht mehr ab und ich kann den Fehler nicht finden. Vielleicht hilft es Dir ja trotzdem. Hier kommt der Code:

#include 
#include 

bool isPrime(unsigned int prime);

void main() {
 unsigned int prime;
 cout \> prime;
 ofstream out("primzahlen.txt");
 for (unsigned int i = 2; i 
Ich habe dann mal versucht, das mit einer grossen Zahl zu testen, aber es war ziemlich langsam. Hier ist _etwas_ schnellerer code (getestet bis 50.000):


    
    #include 
    #include 
    #include 
    
    bool isPrime(unsigned long int prime);
    
    vector allPrimes;
    
    void main() {
     unsigned long int prime;
     cout "; cin \>\> prime;
     ofstream out("primzahlen.txt");
     allPrimes.push\_back(2);
     for (unsigned long int i = 2; i 
    Gruss
    
    Thorsten

ja, genau, das war’s !
Das fclose muss aus dem IF Block raus, damit es immer ausgefuehrt wird !

Gruss
Hans

Hallo!
Auf den ersten BLick fällt mir auf, daß du die Datei nur im
Falle einer Primzahl schließt.
Ich glaube du solltest die Zeile fclose(datei); ausserhalb der
IF Bedingung schreiben!
Du solltest ausserdem Prüfen, ob das Öffnen der Datei gut
gegangen ist (NULL Pointer Assingment).
Gruß Pauli!

Danke
muss ich sofort ausprobieren

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]