webForumDet fria alternativet

char fråga

4 svar · 594 visningar · startad av Danielkun

DanielkunMedlem sedan maj 2003361 inlägg
#1

Varför funkar inte detta? Och hur gör jag för att stoppa i HOHO i char_cmd?

char char_cmd[128] = "HAHA";
char_cmd = "HOHO";
printf("%s", char_cmd);
headbugMedlem sedan sep. 2006867 inlägg
#2

Char är väl bara ett enda tecken, och det verkar som att du egentligen vill använda en string? char_cmd[128] är förvisso en array med 128 tecken, men fortfarande inte en string.... Längesedan jag pysslade med C men jobba med string istället är mitt tips.

spangoMedlem sedan juni 20008 205 inlägg
#3

string-klassen är förstås roligare, men vill du använda ren C får du använda strcpy/strncpy. Anledningen till varför du inte kan göra som du gör är för att man bara kan initiera en array (vilket din char_cmd är) när man deklarerar den.

PeWMedlem sedan juni 200010 432 inlägg
#4

Eller så skriver du en copy själv:

void cpy(char *a, char *b)
{
   while(*(b++)=*(a++));
}
DanielkunMedlem sedan maj 2003361 inlägg
#5

tack, det gick bra med strcpy

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)