Avatar billede nomak Nybegynder
22. april 2003 - 16:52 Der er 13 kommentarer og
1 løsning

substr

Nogen af jer kender måske funktionen substr() i PHP, men nu skal jeg bruge samme funktion i C.. substr findes ikke (eller? - header fil måske? :P)

noget ala:

char *text = "/blah hej";
if (substr(text,0,4) == "/blah") {
printf("det findes...");
}

/nomak
Avatar billede soreno Praktikant
22. april 2003 - 16:58 #1
Avatar billede soreno Praktikant
22. april 2003 - 17:00 #2
strstr tester om string1 findes i string2.
Avatar billede soreno Praktikant
22. april 2003 - 17:01 #3
Du kan se hvad string.h tilbyder her:
http://www.cplusplus.com/ref/cstring/index.html
Avatar billede nomak Nybegynder
22. april 2003 - 17:11 #4
soreno - læs lige mit spm : det er i alm C :)
Avatar billede arne_v Ekspert
22. april 2003 - 17:11 #5
char *text = "/blah hej";
if (strcmp(text+0,"/blah",4)==0) {
printf("det findes...");
}

gør hvad jeg tror du vil.

Men det er ikke en generel substr.
Avatar billede arne_v Ekspert
22. april 2003 - 17:12 #6
char *text = "/blah hej";
if (strcmp(text+0,"/blah",5)==0) {
printf("det findes...");
}

naturligvis !

:-)
Avatar billede nomak Nybegynder
22. april 2003 - 17:12 #7
og kender godt strstr.. men den skal jo tjekke om det ligger i 0 til 4
Avatar billede arne_v Ekspert
22. april 2003 - 17:14 #8
char *text = "/blah hej";
char text2[4];

strncpy(text2,text+6,3);
text2[3]='\0';

skulle flytte "hej" over i text2.
Avatar billede soreno Praktikant
22. april 2003 - 17:14 #9
arne:
Mener du ikke strncmp ?
Avatar billede nomak Nybegynder
22. april 2003 - 17:14 #10
-bash-2.05b$ cc -o b b.c
b.c: In function `main':
b.c:7: too many arguments to function `strcmp'
Avatar billede arne_v Ekspert
22. april 2003 - 17:15 #11
strstr kan faktisk godt bruges:

char *text = "/blah hej";
if (strstr(text,"/blah")==text) {
printf("det findes...");
}
Avatar billede arne_v Ekspert
22. april 2003 - 17:16 #12
Jo.

strncmp !
Avatar billede nomak Nybegynder
22. april 2003 - 17:17 #13
arne_v: /blah skulle forestille at være en kommando.. så hvis man skriver "blah blah /blah hej", kører den jo videre med den if..
Avatar billede arne_v Ekspert
22. april 2003 - 17:22 #14
strncmp eksempelt er equivalent til det kode fragment du
havde i spørgsmålet (eller så vil jeg være meget overrasket
over PHP !).

Hvis du bare vil teste om en strenhg er i strengen, så er det nok:

char *text = "/blah hej";
if (strstr(text,"/blah")!=NULL) {
printf("det findes et eller andet sted...");
}

du skal bruge.
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