Syntax fehler [L-Wert erwartet]



  • Habe ein Problem,

    ich will der ZK woisticq einen Wert zuweisen, aber der Builder sagt immer L-Wert erwartet. Ich versteh das nicht, kann mir jmd helfen? Mein Probelm liegt bei Case 6

    #include<iostream.h>
    #include<conio.h>
    #include<iomanip.h>
    #include<fstream.h>
    // Globale Varibalen
    char woisticq[60];
    int durchlauf=0;
    
    //Prototypen
    void wii();
    void checkfolder();
    
    void main(){
    cout<<"Icq-Pimper\n";
    cout<<"-*-*-*-*-*\n\n";
    wii();
    
     }
    
    void wii(){
    
     durchlauf=durchlauf+1;
     const char up='w', down='s', right='d';
     char key;
     int y=0;
    
    cout<<"Wo ist ICQ installiert?\n\n\n";
    
     cout<<"  C:\\Programme\\ICQLite\n\n";
     cout<<"  Anderes Verzeichnis\n";
     _setcursortype(_SOLIDCURSOR);
      if(durchlauf==1){
       y=7;gotoxy(1,y);
      }
    
     do {
      key=tolower(getch());
       if(key==up)   {if(y==7){gotoxy(1,1);gotoxy(1,7);}if(y>7){gotoxy(1,y=y-2);}}
       if(key==down) {if(y!=9){gotoxy(1,y=y+2);}}
       if(key==right){switch(y){
         case 6:woisticq="C:\\Programme\\ICQlite\\";;checkfolder();break;
         case 7:checkfolder();break;} }
    
     }while(key!=29);
     getch();
    }
    
    void checkfolder(){
    char rootcheckfile[600];
    gotoxy(1,13);
    cout<<"Checking folder"<<woisticq;
    getch();
    }
    


  • Deine Variable hat den falschen Typ. Für strings nimmt man std::string (Header <string>). Und dann funktioniert auch die Zuweisung.



  • geht auch nicht, L-Wert erwartet

    #include<iostream.h>
    #include<conio.h>
    #include<iomanip.h>
    #include<fstream.h>
    #include<string>
    // Globale Varibalen
    std::string woisticq[60];
    int durchlauf=0;
    
    //Prototypen
    void wii();
    void checkfolder();
    
    void main(){
    cout<<"Icq-Pimper\n";
    cout<<"-*-*-*-*-*\n\n";
    wii();
    
     }
    
    void wii(){
    
     durchlauf=durchlauf+1;
     const char up='w', down='s', right='d';
     char key;
     int y=0;
    
    cout<<"Wo ist ICQ installiert?\n\n\n";
    
     cout<<"  C:\\Programme\\ICQLite\n\n";
     cout<<"  Anderes Verzeichnis\n";
     _setcursortype(_SOLIDCURSOR);
      if(durchlauf==1){
       y=7;gotoxy(1,y);
      }
    
     do {
      key=tolower(getch());
       if(key==up)   {if(y==7){gotoxy(1,1);gotoxy(1,7);}if(y>7){gotoxy(1,y=y-2);}}
       if(key==down) {if(y!=9){gotoxy(1,y=y+2);}}
       if(key==right){switch(y){
         case 6:woisticq=woisticq="C:\\Programme\\ICQlite\\";checkfolder();break;
         case 7:checkfolder();break;} }
    
     }while(key!=29);
     getch();
    }
    
    void checkfolder(){
    char rootcheckfile[600];
    gotoxy(1,13);
    cout<<"Checking folder"<<woisticq;
    getch();
    }
    


  • Hi,

    in deinem initialen Beitrag müsstest du im case 6 die funktion strcpy() nehmen.
    das würde dann so aussehen:

    char zeichenkette[60];
    
    strcpy(zeichenkette, "C:\\Programme\\ICQlite\\");
    

    oder du nimmst einfach einen zeiger:

    char* zeichenkette;
    
    zeichenkette = "C:\\Programme\\ICQlite\\";
    

    Die dritte Möglichkeit, ist das mit der Klasse String:

    std::string zeichenkette; //leeren string erzeugen
    
    zeichenkette = "C:\\Programme\\ICQlite\\";
    

    Gruß
    phiL



  • thx phiL,

    das hat jetzt geklappt 🙂

    Kompetente Leute hier, danke an alle


Anmelden zum Antworten