Avatar billede meltinis Nybegynder
21. november 2003 - 09:39 Der er 9 kommentarer og
1 løsning

Længden af en streng

Hvordan får jeg længden af en streng i C?
Jeg modtager en parameter som en række char i et array:

int main(int argc, char line[]){}

Hvordan får jeg længden af fx. 1. parameter?
Avatar billede arne_v Ekspert
21. november 2003 - 09:40 #1
strlen(line)
Avatar billede arne_v Ekspert
21. november 2003 - 09:42 #2
strlen(line) returnerer længden af en C streng (nul termineret char array).

Jeg er lidt usikker på den main erlæri ng du har lavet.

det er nemlig:

int main(int argc, char *argv[])

Og du får længden af første ragument som strlen(argv[1]).

(1 fordi 0 er navnet på programmet)
Avatar billede squashguy Nybegynder
21. november 2003 - 09:42 #3
strlen(line[0]);

:-)
Avatar billede squashguy Nybegynder
21. november 2003 - 09:46 #4
arne har dog ret, så jeg faktisk ikke lige, at det skal være char *arg[] eller char **arg
Avatar billede meltinis Nybegynder
21. november 2003 - 09:57 #5
Jamen det funker jo... og så svarer I med 12 sek. mellemrum. Imponerende. Desværre squashguy så kom du jo senere og derfor er der 8 point til Arne V, og kun 7 til dig... Livet er barsk :) Men hvis du vil have point så er det med at smide et svar..

Arne V. jeg troede kun du holdt dig til JAVA?!?!?
Avatar billede arne_v Ekspert
21. november 2003 - 10:03 #6
Nej - jeg har også skrabet et par point sammen i C/C++ kategorien.

:-)
Avatar billede meltinis Nybegynder
21. november 2003 - 10:19 #7
Mens jeg lige har et spg åbent... Hvordan sætter jeg strenge sammen?
Jeg har de her parametrer fx. 3, og dem vil jeg godt sætte sammen i én streng (hvis man altså kan kalde dem det når de består af char's)
Avatar billede arne_v Ekspert
21. november 2003 - 10:32 #8
Hvis vi stadigvæk snakker C char arrays så:

char buffer[100];
strcpy(buffer,argv[1]);
strcat(buffer, " ");
strcat(buffer,argv[2]);
strcat(buffer, " ");
strcat(buffer,argv[3]);

(1 strcpy + 5 strcat)
Avatar billede arne_v Ekspert
21. november 2003 - 10:33 #9
Hvis du er ovre i STL string så:

string buffer;
buffer = argv[1];
buffer += " ";
buffer += argv[2];
buffer += " ";
buffer += argv[3];
Avatar billede meltinis Nybegynder
21. november 2003 - 10:36 #10
Vi er stadig i C arrays.
Jeg kan forstå at strcat er en slags append.. Jamen det er jo smart.
Så tror jeg at du er berettiget til alle!!! pointene. Det er måske lidt billigt sluppet med 15 point, men nu har jeg også bidraget til din score et par gange... Du betaler denne runde :D
Tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





White paper
Tidsbegrænset kampagne: Overvejer du at udskifte eller tilføje printere i din forretning? Vi kan tilbyde én eller flere maskiner gratis