String verarbeiten

Gast #821296
Lesenswert?
• ▲
▼
Hallo zusammen

Ich habe ein kleines Problem:
Ich habe ein Programm in C geschrieben. In diesem Programm arbeite ich 
mit Strings.
Ich habe eine globale Variable (char) definiert und in diese Variable 
möchte ich immer wieder andere Strings darin speichern.
Beispiel:
Wird der erste Schalter gedrückt, steht "Mueller" in der Variable.
Wird der zweite Schalter gedrückt, steht "Meier" in der Variable.

Das möchte ich erreichen, doch leider funktioniert es nicht. Weiss 
jemand von euch wie ich das machen könnte?

Besten Dank zum Voraus
Gast #821331
Lesenswert?
• ▲
▼
Hallo

Habe es so probiert:

char string[32];

/*Taster 1 gedrückt*/
string[] = "Mueller";

/*Taster 2 gedrückt */
string[] = "Meier";


Aber das funktioniert irgendwie nicht.

Weiss jemand wie ich das lösen könnte?
Gast #821340
Lesenswert?
• ▲
▼
Nachtrag: Problem ist dabei, dass "Zeichenkette" (also Konstante mit 
Anführungszeichen drumrum) fest im Speicher abgelegt werden und dann als 
Zeiger verwendet werden.

> char *p = "Mueller";
Würde den Zeiger p auf die Stelle im RAM/ROM setzen, an der "Mueller" 
hinterlegt ist, ein folgendes
> p = "Meier";
Würde nur den Zeiger umbiegen. Wird dann aber auf *p zugegriffen, gibts 
entweder Zugrifssverletzungen oder andre Probleme...

Gleiches gilt, wenn man mit
> char s[30];
einen Vektor definiert.
> s = "Mueller";
würde dann die Adresse, an der "Mueller" hinterlegt ist, in s speichern, 
nicht aber die einzelnen Bytes ('M', 'u', 'e' ...), deshalb hab ich 
strcpy benutzt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren