Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » rechnen, speichern, auslesen, vergleichen

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 < [ 3 ] [ 4 ] [ 5 ] [ 6 ]
010
24.07.2004, 19:07 Uhr
~Nachtträumer
Gast


Hey danke für den tipp. Ich werd mal sehen was ich daraus machen kann.

Verstehen tu ich das jedenfalls noch nicht

Bis denne
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
24.07.2004, 19:22 Uhr
invalid_username




C++:
for(int j=2;j<=5;j++){// willst doch mit 2, 3,4 ,5 multiplizieren
       write<<checkzahl_tmp*j<<delim;//checkzahl is nun schon multipliziert
/* in datei wird produkt geschrieben dann ein trennzeichen kannst ja delim auch " " machen wenn du willst*/
       checkzahl_tmp=checkzahl; /* wird wieder auf eins gesetzt damit nächste multi mit write gemacht werden kann sonst würde es ja dann z.b bei *3  (2*3 heissen ) also auf 1 zurücksetzten */
}

// dann kannste read so anfangen ->
while(read.getline(read_from_file,sizeof(read_from_file)/sizeof(char),delim)){
/* getline liesst in dass array "read_from_file" bis zum nächsten "delim" */
                        checkzahl_tmp=atoi(read_from_file);
/* checkzahl _tmp bekommt den int aus der datei weil wir aber in nen array lesen müssen wir mittels atoi in nen int wandeln ..nun kannste mit checkzahl_tmp weitermachten z.b mit dem wert von checkzahl vergleichen oder sonst was */

//.......................
}



nun sollte der code ausschnitt selbst erklärend sein
--
((void)*)0
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
24.07.2004, 19:30 Uhr
~Nachtträumer
Gast


Hey großes danke schön von mir. Sieht doch gleich viel anderes aus

Mal sehen obs damit geht
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
24.07.2004, 20:03 Uhr
~Nachtträumer
Gast


Ich habe das programm mal nach deinem vorschlag geändert.

Hier meine fragen zum unterstehenden code:
welche #include brauche ich damit er write verseht? Siehe erste zeile der fehlermeldung. (die fehlermeldung habe ich doch richtig interpretiert oder?

CProgramme\Microsoft Visual Studio\MyProjects\234234\234234.cpp(23) : error C2065: 'write' : nichtdeklarierter Bezeichner

Den rest habe ich eigentlich soweit verstanden, nur mit "delim" komm ich nich so ganz klar. Ist das einfach nen wort das als trennzeichen dient (kann ich es z.b. mit xx ersetzen) oder ein befehl?


Code:

// 12345.cpp : neue Datei - Definiert den Einsprungpunkt für die Konsolenanwendung.
//

#include "stdafx.h"
#include <iostream.h>
#include <fstream.h>


int main(int argc, char* argv[])
{
    unsigned long int l_endzahl;
    unsigned long int l_checkzahl = 2;
    unsigned long int l_checkzahl_tmp;
    unsigned long int l_i;

    cout << "Bitte letzte zu testende Zahl eingeben: ";
    cin >> l_endzahl;



for(int j=2;j<=5;j++)                // willst doch mit 2, 3,4 ,5 multiplizieren
{            
       write<<l_checkzahl_tmp*j<<delim;        //checkzahl is nun schon multipliziert
                                            /* in datei wird produkt geschrieben dann ein trennzeichen kannst ja delim auch " " machen wenn du willst*/
       l_checkzahl_tmp=l_checkzahl;                 /* wird wieder auf eins gesetzt damit nächste multi mit write gemacht werden kann sonst würde es ja dann z.b bei *3  (2*3 heissen ) also auf 1 zurücksetzten */
}

// dann kannste read so anfangen ->
while(read.getline(read_from_file,sizeof(read_from_file)/sizeof(char),delim))
{
/* getline liesst in dass array "read_from_file" bis zum nächsten "delim" */
                        l_checkzahl_tmp=atoi(read_from_file);
/* checkzahl _tmp bekommt den int aus der datei weil wir aber in nen array lesen müssen wir mittels atoi in nen int wandeln ..nun kannste mit checkzahl_tmp weitermachten z.b mit dem wert von checkzahl vergleichen oder sonst was */

//ab hier hab ich weitergemacht:
                cout << checkzahl_tmp;        
// wird die datei jetzt solange gelesen bist sie zu ende ist?
                //z. B. in der datei stehen die zahlen 1,2,3,4,5,6,7 die müssten ja dann mit cout alle ausgegeben werden?
}

return 0;
}


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
24.07.2004, 20:48 Uhr
invalid_username




C++:
    
        const string filename1("trash.txt");
        const string filename2("ok.txt");
//bin mir im klaren dass man die funktionalität des strngs nicht braucht @const...
        ifstream read(filename1.c_str());
        ofstream write(filename1.c_str());


ist an dieser stellen nur "zusammen geschnitten "

write ist also dass gleiche wie bei dir... mein ofstream heisst so ..
also ist er in <fstream>
read ist mein ifstream die haben doch getline als funktion...
hier mal die syntax für mein getline ->
read.getline(char* s,int _n,cahr delim);
also liest read solange aud der geöffneten datei in char *s ( bei mir read_from_file)
und zwar max ( n) zeichen )// nehme sizeof um keinen ärger mit den array grenzen zu bekommen ) bis der nächste deliminator also char delim kommt...

ja delim ist nur ein trennzeichen steht doch auch im code oder ??
const char delim ='x';
naja halt ein nicht zu ändernder char den du zum trennen nimmst .. keine funktion ..
// kleien anmerkung dann hätte da delim(); stehen müsssen ..

viel erfolg &&spass beim weitermachen
--
((void)*)0

Dieser Post wurde am 24.07.2004 um 21:05 Uhr von invalid_username editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
24.07.2004, 21:06 Uhr
~Nachtträumer
Gast


Danke

wird wiedermal ne lange nacht

Ich habe vorhin mal eine datei mit dem programm erzeugt.

Bei 4GB war dann schluss und es wurde nix mehr reingeschrieben und öffnen kann ich sie nun auch nicht mehr . Ich habe NTFS, da sollte es diese 4gb grenze doch nicht geben? woran könnte das liegen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
24.07.2004, 21:13 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Ich würde vermuten weil dein zeiger auf die aktuelle schreibposition 32 bit hat... und da ist dann nach 2^32 feierabend
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
24.07.2004, 21:32 Uhr
~Nachtträumer
Gast


*Verzweifel*

Jetzt bekomme ich folgende fehlermeldungen:


Code:

--------------------Konfiguration: 234234 - Win32 Debug--------------------
Kompilierung läuft...
234234.cpp
C:\Programme\Microsoft Visual Studio\MyProjects\234234\234234.cpp(25) : warning C4552: '<<' : Operator hat keine Auswirkungen; Operator mit Seiteneffekt erwartet
C:\Programme\Microsoft Visual Studio\MyProjects\234234\234234.cpp(32) : error C2228: Der linke Teil von '.getline' muss eine Klasse/Struktur/Union sein
C:\Programme\Microsoft Visual Studio\MyProjects\234234\234234.cpp(32) : error C2144: Syntaxfehler : Fehlendes ')' vor Typ 'char'
C:\Programme\Microsoft Visual Studio\MyProjects\234234\234234.cpp(32) : error C2059: Syntaxfehler : ')'
C:\Programme\Microsoft Visual Studio\MyProjects\234234\234234.cpp(33) : error C2228: Der linke Teil von '.getline' muss eine Klasse/Struktur/Union sein
C:\Programme\Microsoft Visual Studio\MyProjects\234234\234234.cpp(33) : error C2065: 'read_from_file' : nichtdeklarierter Bezeichner
C:\Programme\Microsoft Visual Studio\MyProjects\234234\234234.cpp(33) : error C2065: 'delim' : nichtdeklarierter Bezeichner
C:\Programme\Microsoft Visual Studio\MyProjects\234234\234234.cpp(33) : fatal error



Heut morgen hab ich solche schönen vortschritte gemacht aber seit stunden gehts nicht weiter

Ich brauch also nochmal hilfe


So sieht der code nach den änderungen aus:

C++:
// 12345.cpp : neue Datei - Definiert den Einsprungpunkt für die Konsolenanwendung.
//

#include "stdafx.h"
#include <iostream.h>
#include <fstream.h>


int main(int argc, char* argv[])
{
    unsigned long int l_endzahl;
    unsigned long int l_checkzahl = 2;
    unsigned long int l_checkzahl_tmp;
    unsigned long int l_i;

    cout << "Bitte letzte zu testende Zahl eingeben: ";
    cin >> l_endzahl;

char write;
char read;

    for(int j=2;j<=5;j++)                // willst doch mit 2, 3,4 ,5 multiplizieren
    {    
            const char delim ='x';
        write<<l_checkzahl_tmp*j<<delim;        //checkzahl is nun schon multipliziert
                                            /* in datei wird produkt geschrieben dann ein trennzeichen kannst ja delim auch " " machen wenn du willst*/
        l_checkzahl_tmp=l_checkzahl;                 /* wird wieder auf eins gesetzt damit nächste multi mit write gemacht werden kann sonst würde es ja dann z.b bei *3  (2*3 heissen ) also auf 1 zurücksetzten */
    }

    // dann kannste read so anfangen ->

    read.getline(char* s,int _n,cahr delim);
    while(read.getline(read_from_file,sizeof(read_from_file)/sizeof(char),delim))
    /* getline liesst in dass array "read_from_file" bis zum nächsten "delim" */
    {

        l_checkzahl_tmp=atoi(read_from_file);
        /* checkzahl _tmp bekommt den int aus der datei weil wir aber in nen array lesen müssen
        wir mittels atoi in nen int wandeln ..nun kannste mit checkzahl_tmp weitermachten
        z.b mit dem wert von checkzahl vergleichen oder sonst was */


        cout << checkzahl_tmp;        
        // wird die datei jetzt solange gelesen bist sie zu ende ist?
        //z. B. in der datei stehen die zahlen 1,2,3,4,5,6,7 die müssten ja dann mit cout alle ausgegeben werden?
    }
return 0;
}



Dieser Post wurde am 24.07.2004 um 23:20 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
24.07.2004, 23:23 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



C++:
#include "stdafx.h"       //hat im ansi-forum nix zu suchen
#include <iostream.h>  //bitte nicht iostream.h und fstream.h includieren sondern nur iostream und fstream
#include <fstream.h>


int main(int argc, char* argv[])
{
    unsigned long int l_endzahl;
    unsigned long int l_checkzahl = 2;
    unsigned long int l_checkzahl_tmp;
    unsigned long int l_i;

    cout << "Bitte letzte zu testende Zahl eingeben: ";
    cin >> l_endzahl;

char write;
char read;

    for(int j=2;j<=5;j++){
    
            const char delim ='x';
        write<<l_checkzahl_tmp*j<<delim;  //glaube nicht das das den erfolg hat den du willst, write ist nur ein char, da hat der << dann ne andere bedeutung, was du willst ist ein ofstream operator names write erstellen, probiers mal damit      
        l_checkzahl_tmp=l_checkzahl;              

...

}




also in der art

C++:
ofstream write("test.txt");
.
.
.
write<<l_checkzahl_tmp*j<<delim;  


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 24.07.2004 um 23:26 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
24.07.2004, 23:33 Uhr
invalid_username



habe ich doch schon so gepostet ..@Nachtträumer
wenn du meinen code schon nimmst dann bitte richtig frag doch wenns was nicht kennst aber nen stream zu nen char degradieren ist nicht nett
--
((void)*)0
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ] [ 4 ] [ 5 ] [ 6 ]     [ 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: