Problem beim lösen des Errors C2664



  • Hallo liebe Forumsmitglieder,
    ich hab ein Teil meines kleinen Programmes und da lese ich eine Textdatei aus und will sie dann in einer Textbox in meinem Dialog ausgeben.
    Dabei gab es dann in der Zeile

    m_ctlLISTOUTPUT.AddString(zeile.substr(pPosn,4));
    

    folgende Fehlermeldung:
    ProjektDlg.cpp(260) : error C2664: 'AddString' : cannot convert parameter 1 from 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' to 'const char *'

    Der Quellcode meines Unterprogramm lautet:

    ifstream data("c:\Test.txt"); 
    	string zeile;
    	CString word = "Es gibt dieses Wort nicht!!";
    	while(getline(data,zeile)) 
    	{ 
    		size_t pPosn = zeile.find("Mann"); 
    		if (pPosn!=string::npos) 
    		{ 
    				TRACE("gefunden Pos: %d - %s\n",pPosn,(zeile.substr(pPosn)+"?").c_str()); 
    				m_ctlLISTOUTPUT.AddString(zeile.substr(pPosn,4));
    
    		}
    		else 
    		{	
    				m_ctlLISTOUTPUT.AddString(word);
    
    		}	
    
    	}
    

    Vieleicht wisst ihr was zu tun ist.
    Vielen Danke!!


  • Mod

    .c_str verwenden! Du hast es im Trace doch auch gemacht!



  • Vielen Dank!!
    Das ich da nicht selber drauf gekommen bin.
    Hab da wohl zu lange drauf gestarrt und das vollkommen übersehen 🙂


Anmelden zum Antworten