08. marts 2006 - 16:40
Der er
13 kommentarer og 1 løsning
Finde "abcd" i et unsigned char array
Jeg har et unsigned char array som jeg gerne vil søge igennem for at finde 4 chars(sammenhængende) "acbd". Jeg har prøvet at convertere den til en string uden held. Hvordan gøres det?
Annonceindlæg fra QNAP
08. marts 2006 - 17:30
#1
Anyone?
08. marts 2006 - 18:04
#2
strstr
08. marts 2006 - 18:05
#3
char *s = "bla bla abcd bla bla"; char *p = strstr(s,"abcd"); p vil pege paa det sted i s hvor abcd er (vil vaere NULL hvis ikke den er der) du kan selv klistre nogle unsigned paa de char arrays
08. marts 2006 - 18:28
#4
p indeholder resten af s.. altså "abcd bla bla" ud fra det kan jeg jo ikke finde hvr bcd starter?
08. marts 2006 - 18:35
#5
Når man laver arraysne til unsigned, kommer der fejl
08. marts 2006 - 18:58
#6
Hvis "abcd" står i starten af filen finder den den.. men ikke hvis den først bliver indlæst.. så udskrives der kun <null> hver gang selvom det er i arrayet char header[100] = {0}; int i = 0; while ( 1 ) { fread( &buffer, 1, 1, wavFile ); wavHeader[i] = buffer[0]; printf("%s",strstr(wavHeader,"WAVE")); i++; }
08. marts 2006 - 19:20
#7
hvis p er "abcd bla bla" saa maa bcd jo starte i p+1
08. marts 2006 - 19:25
#8
koden ser meget mystisk ud hvorfor kalder du ikke fread 1 gang og laeser det hele ind i wavHeader ? strstr virker med nul terminerede strenge ! er WAVE headere printbare ????
08. marts 2006 - 19:25
#9
Okay, tak. Kan du sige mig hvorfor den ikke finder det i det kode jeg har lagt op?
08. marts 2006 - 19:26
#10
hvis det er binaere data saa skal du nok bruge memcmp til at sammenligne med
08. marts 2006 - 19:26
#11
Det er forskelligt hvor langt headeren er på en wav fil.. så jeg skal læse indtil jeg finde forekomsten "data".. hvordan skal det gøreS?
08. marts 2006 - 19:30
#12
da du vel alligevel har en size paa buffer arrayet kan du vel ligesaa godt bruge: fread(buffer,1,sizeof(buffer),wavFile); uden en loekke
08. marts 2006 - 21:14
#13
Løste det på en anden og bedre måde, men du har fortjent pointene.. så lav et svar
08. marts 2006 - 21:40
#14
ok
Kurser inden for grundlæggende programmering