Problem beim Schreiben in eine .txt Datei.



  • Hallo,
    Ich habe ein Problem.Ich will einfach eine 1 in eine .txt Datei schreiben.
    Ich hab es einfach mal so probiert:

    file.open("open.txt",ios::out);
    file<<"1";

    Aber irgentwie hat er Probleme mit << --> No match for operator "<<" in file<<"1";
    Könnt ihr mir vielleicht weiter helfen?



  • darthdespotism@akazieLX:~$ cat main.cpp
    #include <iostream>
    #include <fstream>
    
    int main()
    {
            std::fstream out("out.txt", std::ios::out);
            out << "1";
    }
    darthdespotism@akazieLX:~$ g++ main.cpp -ansi -pedantic
    darthdespotism@akazieLX:~$
    

    Lass mal mehr Code sehen



  • Ja also der Rest hat eiegntlcih mit der Sache nix zu tun, aber ich hab mal versucht nen bissl mehr zu schicken.

    #include<string.h>
    #include<iostream>
    #include<fstream>

    using namespace std;

    int meineklasse::meinememberfunktion()
    {
    file.open("open.txt",ios::in);
    int buchstabe=0;
    int zeile=1;
    int i=0;
    ifstream file2;
    file2.open("open.txt",ios::out);
    while(!file.eof())
    {
    string s;
    getline(file,s);
    s=m_textline[256];
    while(buchstabe<256){
    if(m_textline[buchstabe]=='a')
    {
    file2<<"1";
    };
    }
    }
    Kann sein dass da jetz viel scheiße dabei is weil des eigentlich ein "größeres" Programm werden soll und jetz halt keinen Zusammenhang hat. Diese Memberfunktion soll aber eigendlich nur von einer Text Datei alle Buchstaben in eine andere kopieren nur halt a =1 b=2 ..... und bei dem 1 in die andere Text Datei schreiben hängt es.



  • Du hast file2 als ifstream deklariert, der zum einlesen und nicht zum schreiben gedacht ist. Daher kennt dieser auch keine Streamausgabe.



  • #include<string.h>
    #include<iostream>
    #include<fstream>

    using namespace std;

    int meineklasse::meinememberfunktion()
    {
    ifstream file;
    file.open("open.txt",ios::in);
    int buchstabe=0;
    int zeile=1;
    int i=0;
    ofstream file2;
    file2.open("open.txt",ios::out);
    while(!file.eof())
    {
    string s;
    getline(file,s);
    s=m_textline[256];
    while(buchstabe<256){
    if(m_textline[buchstabe]=='a')
    {
    file2<<"1";
    };
    }
    }

    Aber warum öffnest du die Datei "open.txt" zwei mal? Das ist sehr unsauber und kann zu Fehlern führen. Du solltest entweder zum lesen oder zum schreiben öffnen.

    Am besten die Datei öffnen, operation ausführen und Datei wieder schließen.



  • Ups file 2 und file sollen zwei verschiedene Text documente sein.Und ich kann die nicht gleich wieder schließen weil meine Lese makierer oder wie man des nennt da stehen bleiben muss. Jetz geht es endlich danke !!!




Anmelden zum Antworten