visual c++ findet txt datei nicht



  • Hallo!
    Ich versuche jetzt mit Visual C++ so was auszuführen, aber er sagt mir : expression:(strema!=Null) Debug aasertion failed. also er findet das datei nicht,. wogin soll ich dann das Datei speichern, damit c++ visual es findet? (visual c++ wird als administrator gestartet)

    danke

    #include<iostream>
    #include<fstream>
    #include<string>
    using namespace std;
    
    int main(){
    
    	FILE  *daten;
    //'r' means read
    daten=fopen("C:\User\Katjuwka\Desktop\C\text.txt","r");
    
    int counting[32];
    	char text[500];
    	int orderInStr=0;
    	char kk;
    


  • Du musst in Stringliteralen '\' notieren, also immer einen doppelten Backslash, um im Endergebnis einen einfachen Backslash zu bekommen. Mach dich mal schlau, was Escapesequenzen sind. 🙂



  • Oder nimm gleich '/'.



  • Kann ich die Name des Datei irgenwie in String speicher und dann bei Programmstart als Argument übergeben?

    oder irgenwie so



  • Entweder du nimmst einen Konstanten String (also direkt in dem Programmquellcode implementieren), du liest es in der Konsole ein , ...



  • so?

    er meckert aber bei

    cin>>s;
    	zaehlen(s);
    
    void zaehlen(const char* s){
    
    FILE  *daten;
    //'r' means read
    daten=fopen(s,"r");
    
    int main(){
    	const char* s;
    	cout<<"Dateiname";
    	cin>>s;
    	zaehlen(s);
    
    system("Pause");}
    


  • nimm doch einfach einen string für die eingabe



  • Ah, nein. Stopp. Wieso C-Strings !?



  • nimm doch einfach einen string für die eingabe

    void zaehlen(string s, string o){
    
    FILE  *daten;
    //'r' means read
    daten=fopen(s,"r");
    

    er meckert dann bei fopen.
    Es ist keine passende Konvektirungfunktion vod std::string in const char* vorhanden



  • deinstring.c_str()



  • Was !?
    Schonmal was von string::c_str() gehört ?

    Edit: Manno, zu lahm.



  • Es funktioniert aber trotzdem nicht. er findet jetzt Datei nicht

    #include<iostream>
    #include<fstream>
    #include<string>
    
    using namespace std;
    
    void zaehlen(const char* s, string o){
    
    FILE  *daten;
    //'r' means read
    daten=fopen("s","r");
    
    int main(){
    	string s;
    	string o;
    	cout<<"Dateiname";
    	cin>>s;
    
    	cout<<"Should be the case considered?(Y or N)";
    	cin>>o;
    		zaehlen(s.c_str(),o);
    
    system("Pause");}
    


  • 1. Nimm, wieschon gesagt getline.
    2. Was soll das "s" in Zeile 13 ? Ist wahrscheinlich der gesuchte Fehler.
    3. Formatier deinen Code, es sieht furchtbar aus
    4. Du nimmst immer noch C-Strings
    5. Du nimmst C-Arrays, nimm std::vector.
    6. C-Filestreams
    7. für system() musst du die <cstdlib> einbinden.
    8. Wieso 26 in Z. 27 ? (Edit: habs kapiert.)

    Edit: & wofür ist dein Code da ? Ich versteh nicht, was er machen soll. Alle Zeichen einer Datei einlesen und deren entsprechenden ASCII Wert ausgeben ?



  • Alles ich gut , hab es verstanden, hab alles benutzt=)
    vielen dank=))


Log in to reply