probleem met file.open

Status
Niet open voor verdere reacties.

Vedelaar

Gebruiker
Lid geworden
8 sep 2005
Berichten
14
dit is zo'n beetje mijn eerste serieuse programma dat ik schrijf met C++ en ik wil iets wat ik niet voorelkaar kan krijgen
Ik wil in mijn file.open een variabel gebruiken maar ik snap niet hoe :S

Dit is mijn scriptje:

Code:
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main()
{
    string gnaam;
    
    cout << "Voer je windows gebruikersnaam in:";
    cin >> gnaam;
    ifstream file;
    file.open("c:/Documents and Settings/"<< gnaam.c_str() <<"/Application Data/Opera/Opera/profile/search.ini", ios::app);
    file<<"\n[Search Engine 35]\nVerbtext=0\nHas endseparator=0\nEncoding=iso-8859-1\nSearch Type=0\nPosition=-1\nNameid=0\nName=Webmasterplein\nKey=AS\nURL=http://www.webmasterplein.net/search.php?mode=results\nIs post=1\nQuery=show_results=topics&search_keywords=%s";
    file.close();
    cin.get();
}

en de error is:
no match for 'operator<< in '"c:/Documents and Settings/"' << gnaam '

Weet iemand hier mischien wat ik fout doe?

Derk
 
Of het doet wat je wilt, weet ik niet, maar dit compileert iig wel:

PHP:
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main()
{
    string gnaam;
    
    cout << "Voer je windows gebruikersnaam in:";
    cin >> gnaam;
    ofstream file;
    file.open(("c:/Documents and Settings/"+ gnaam +"Application Data/Opera/Opera/profile/search.ini").c_str(), ios::app);
    file<<"\n[Search Engine 35]\nVerbtext=0\nHas endseparator=0\nEncoding=iso-8859-1\nSearch Type=0\nPosition=-1\nNameid=0\nName=Webmasterplein\nKey=AS\nURL=http://www.webmasterplein.net/search.php?mode=results\nIs post=1\nQuery=show_results=topics&search_keywords=%s";
    file.close();
    cin.get();
}

Nog even wat zeuropmerkingen:
* C/C++ code heet source, geen script. Script wordt geinterpreteerd, code gecompileerd
* Declareer je locale variabelen allemaal aan het begin van je functie, niet pas als je ze gebruikt.
* Leer jezelf van begin af aan veel commentaar te schrijven bij je code. Nu spreekt alles nog voor zichzelf, maar als je programma's groter worden heb je stukjes code waar je dagen, zoniet weken, later nog een keer naar kijkt en dan ga je je echt afvragen wat je nou ook al weer precies gedaan had. Werp maar eens een blik op een of ander open-source project en je ziet dat er meer comment dan code staat.
* C/C++ stl is misschien wel handig om mee te leren, maar ik andere frameworks zoals mfc, qt en wxwidgets zijn veel handiger. Zelf prefereer ik wxwidgets tot dusverre.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan