Strings und zusätzlich noch Arrays?

Gast #1189407
Lesenswert?
• ▲
▼
Hi Leute,

ich habe 40 Strings, die ich gerne in einem Array speichern will. Also 
muss doch die dekleration so aussehen:

char strings[40][16];

Die Strings sind jeweils 16 Zeichen lang. Muss ich dann [16] oder [17] 
schreiben? [16] bedeutet doch 0-15 also sprich 16 Buchstaben könnte ich 
abspeichern, allerdings gibts ja die Nullbyteterminierung, also könnte 
ich nur 15 Buchstaben speichern oder?

So und jetzt gehts weiter, wie weiße ich der Variable dann eine 
Zeichenkette zu?

z.b.

strings[0] = "Strom";
strings[1] = "Spannung";
usw.

Aber so gehts ja nicht...
Kann mir da bitte jemand helfen, ich weiß es sollte in jede C-Buch 
stehen, aber da wird immer irgend eine Funktion zum Kopieren benutzt und 
da ich ja am µC diese Funktionen nicht habe, bin ich etwas ratlos... 
Oder muss ich mir so eine Funktion selbst schreiben???
#1189411
Lesenswert?
• ▲
▼
Gast wrote:
>
> char strings[40][16];
>
> Die Strings sind jeweils 16 Zeichen lang. Muss ich dann [16] oder [17]
> schreiben?

17

> [16] bedeutet doch 0-15 also sprich 16 Buchstaben könnte ich
> abspeichern,

Nein

> allerdings gibts ja die Nullbyteterminierung,

Genau

> also könnte
> ich nur 15 Buchstaben speichern oder?

Ja


> strings[0] = "Strom";

   strcpy( strings[0], "Strom" );

> strings[1] = "Spannung";


  strcpy( strings[1], "Spannung" );

> Oder muss ich mir so eine Funktion selbst schreiben???
http://www.mikrocontroller.net/articles/FAQ#Wie_funktioniert_String-Verarbeitung_in_C.3F
Gast #1189425
Lesenswert?
• ▲
▼
C:\Dokumente und Einstellungen\Administrator\Desktop\Mikrocontroller 
Programme\stringstest\default/../stringstest.c:9: undefined reference to 
`strcopy'


Ich hab oben aber stehen #include <string.h>

Hier der Code:
1
#include <avr/io.h>
2
#include <avr/pgmspace.h>
3
#include <string.h>
4

5
int main(void)
6
{
7
  RS232_Init();
8
  char strings[40][17];
9
  strcopy(strings[0], "Strom");
10
  strcopy(strings[1], "Spannung");
11
  while(1)
12
  {
13
    printf ("%s",strings[0]);
14
  }
15
}
#1189448
Lesenswert?
• ▲
▼
Gast wrote:
> Ja aber was muss ich machen, damit ich die funktion strpcy() benutzen
> kann???? Es kommt immer dieser Fehler!
Wenn Du strcpy richtig schreibst (also so, wie Karl heinz es Dir 
vorgegeben hat), dann sollte es auch keine Fehlermeldung geben. Eine 
Funktion strcopy gibt es aber nicht!

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