20. august 2008 - 11:49
Der er
7 kommentarer og 1 løsning
Funktion der ændrer i en streng (array af chars)
Har et lille problem med noget C. Vil have en funktion som hovedprogrammet kalder, og som ændrer en streng som bliver sendt med som parameter. Noget i stil med dette: I main koden: char strengtest[100]; int i; i = 0; replacestring( i, &strengtest ); i replacestring funktionen: void replacestring (int t, char* strengtest) { if(status == 0){ strengtest = "Variabel er lig 0"; } if(status != 0){ strengtest = "Variabel er ikke lig 0";; } } Det er nok tydeligt at se at jeg har lidt problem når det kommer til pointere og det er da også der problemet ligger, tror jeg. Nogle der kan hjælpe
Annonceindlæg fra Kingston Technology
20. august 2008 - 12:03
#1
Man kan ikke med en char [] bruge = strengtest = "Variabel" skal være strcpy(strengtest,"Variabel")
20. august 2008 - 12:04
#2
... og hvor er status defineret?
20. august 2008 - 12:30
#3
ups, status skulle bare være t. For fejlen: Type error in argument 2 to `replacestring'; found 'pointer to array 100 of char' expected 'pointer to char'.
20. august 2008 - 12:41
#4
Har også ændret: strengtest = "Variabel er lig 0"; til strcpy(strengtest,"Variabel...")
20. august 2008 - 13:10
#5
Nu virker det. Men er det sådan man gør det? I main koden: char strengtest[100]; int i; i = 0; replacestring( i, &strengtest[0] ); i replacestring funktionen: void replacestring (int t, char* strengtest) { if(status == 0){ strcpy(strengtest,"Variabel lig nul") } if(status != 0){ strcpy(strengtest,"Variabel ikke lig nul") } } Lig et svar Stefan
20. august 2008 - 13:25
#6
Jeg tror jeg ville lave noget i stil med (ikke testet, derfor ingen garanti for korrekthed!): char strengtest[100]; int i; i = 0; replacestring( i, strengtest ); i replacestring funktionen: void replacestring (int t, char* strengtest) { if(t == 0){ strcpy(strengtest,"Variabel lig nul"); else strcpy(strengtest,"Variabel ikke lig nul"); }
20. august 2008 - 13:25
#7
char strengtest[100]; int i; i = 0; replacestring( i, strengtest ); i replacestring funktionen: void replacestring (int t, char* strengtest) { if(t == 0) strcpy(strengtest,"Variabel lig nul"); else strcpy(strengtest,"Variabel ikke lig nul"); }
20. august 2008 - 13:39
#8
Ok, det kan jeg da også lige prøve. Du skal have tak for hjælpen
Kurser inden for grundlæggende programmering