warum wird nichts ausgelesenß



  • hi,

    ich versuche gerade eine kleine suchmaschine mir zusammen zubasteln, dafür habe ich auch eine stoppwortliste.
    Bevor die suchanfrage bearbeitet wird, soll erst ein abgleich mit der stoppwortliste gemacht werden.
    So ich bin gerade dabei das File zu öffnen, aber er lies im moment noch nichts aus. Warum weiss ich nicth und das file existiert auch (ganz sicher).
    Warum die exceptiion nicht funzt verstehe ich auch nicht.

    try
    {
    
    if(stopp.Open(stoppwortliste, CFile::shareExclusive |CFile::modeReadWrite,&e))
    	{	
    
    		while(stopp.ReadString(in));
    		 {
    
    		   MessageBox(in);
    
    		 }
    	}
    }
    catch (CFileException e)
    {AfxMessageBox(" Fehler beim Aufrufen des Text-Files 'Stoppwortliste' ",  MB_OK); }
    

    Sieht jemand den Fehler?? oder hat einen tipp??
    Die MessageBox steht momentan nur deswegen darin um zu sehen ob er ausliest ( was im moment ja noch nicht der fall ist)



  • Moin,
    du musst bei CFile::Open() als erstes Argument den Pfad oder Dateinamen als String übergeben, also

    stopp.Open("stoppwortliste", CFile::shareExclusive |CFile::modeReadWrite,&e);
    

    MfG
    me



  • Hmm, ich denke mal das stoppwortliste eine Variable ist die den Pfad enthällt...oder?
    Ansonsten einfach den Pfad übergeben...

    Gruß
    :: NoName ::



  • richtig stoppwortliste enthält den Pfad.

    das komische ist das ich mit

    stopp.SeekToEnd();
    stopp.WriteString("hallo");
    ...
    

    ans ende halt hallo schreiben kann, aber nix auslesen kann....



  • Shame on me...



  • Hi,

    bin jetzt zu ifstream umgeschwenkt.
    Da es nicht ging aus der Datei etwas auszulesen.
    So jetzt mach ich das so:

    ifstream out(stoppwortliste,ios::in);
    	char buff[10000];
    
    	while(!out.eof())
    	{
    		out.getline(buff,250);
    		out.
    		MessageBox(buff);
    	}
    

    Er liest jetzt ohne probs zeilenweise aus. aber wei bekomme ich das auslesen nun wortweise???
    gibt es da ne fkt in ifstream oder wie??



  • hi,

    hab die txt so geänder dass jedes wort in einer extra zeile steht (ist ja in dem fall nicht so wichtig)

    aber kann ich den char jetzt in einen cstring wandeln, damit ich mit den fkt von cstring arbeiten kann??

    Wenn ja wie??



  • n.Format("%s", buff); // char wandeln in cstring
    


  • Das du jetzt ifstream verwendest ist zwar schön aber du solltest dein Problem beheben und nicht umgehenen.

    Die Klasse Cfile hat z.B. keine Member ReadString(). Wo hat du also dieses Funktion her und wenn sie von Dir ist welchen Inhalt hat sie.
    Dort liegt dein Fehler.

    Zuviel Code wird hier nicht erwünscht und verärgert viele aber zuwenig Code ist auch unproduktiv.


Anmelden zum Antworten