String?

tommy07

Mitglied
Hallo,
in java habe ich mit Strings gearbeitet. Jetzt frag ich mich, wie ich das in c++ mache, weil es dort anscheinend keine Strings gibt.
Wenn a einen bestimmten wert annimmt, sollen verschiedene Zeichenketten aufgerufen werden.

Code:
//string dateiname;
switch(a)
case 1: dateiname = "horst.txt";
case 2 dateiname = "walter.txt";
 
moin


Sollte eigentlich gehen:
Code:
string dateiname;

switch(a)
{
case 1: dateiname + "horst.txt"; break;
case 2: dateiname + "walter.txt"; break;
}

Bei einen char-Array:
Code:
char dateiname[20];

strcpy(dateiname, "horst.txt");


mfg
umbrasaxum
 
tommy07 hat gesagt.:
Hallo,
in java habe ich mit Strings gearbeitet. Jetzt frag ich mich, wie ich das in c++ mache, weil es dort anscheinend keine Strings gibt.
Wenn a einen bestimmten wert annimmt, sollen verschiedene Zeichenketten aufgerufen werden.

Code:
//string dateiname;
switch(a)
case 1: dateiname = "horst.txt";
case 2 dateiname = "walter.txt";


Also als erstes würde ich mal sagen hast du das break vergessen, und wenns dann immer noch nicht geht evtl was mit dem a (Das muss glaub ich char sein, evtl haste da was falsch), oder du hast das using namespace std; für den String vergessen ? Vielleicht ja auch das include der String Header ?

Wenn du deinen kompletten Code und die Fehlermeldung mal schrieben würdest, könnte man dir sicherlich besser helfen ;)

Gruss

MFC OpenGL


PS : Betriebssystem und Compiler bitte angeben ;)
 
Kann man eigentlich Strings addieren? Frei nach dem Motto:

Code:
int einlesen(char datei){
string dateiname = datei+"walter.txt";

//... hier wird der Dateiname verwendet, um aus der Datei auszulesen
//...


}

int main(){
einlesen('a');
return(0);

}
 
habe schon alles mögliche probiert, aber ich bekomme immernoch Fehlermeldungen.

Code:
float getposition(int dateiname){
string datei1;
string datei2;
string datei3;
//...
switch (dateiname){

        case 1:
          datei1= "avor1.txt";
          cout << datei1; //funktioniert bis hierhin
          datei2= "avor2.txt";
          datei3= "amess.txt";

        break;
}
//...
//-------- 1. Referenzdatei
char buffer1[256];
  ifstream ein1 (datei1);  // wenn man hier einfach einen Dateinamen eingibt, gibt es keine 
                                   // Fehlermeldung... hier ist also der Fehler 
  if (! ein1.is_open())
  { cout << "Error opening file"; exit (1); }

  while (! ein1.eof() )
  {
    ein1.getline (buffer1,100);
    a[index1]= atof(buffer1);
    summederstriche+=a[index1];
    index1=index1+1;
  }
 
Zurück