Avatar billede bamse2000 Nybegynder
23. maj 2002 - 19:30 Der er 26 kommentarer og
1 løsning

sammenligne char *?

Hej eksperter!

Når man sammeliger 2 char *, feks:

filena[k]!=toupper(name[k])

hvilken betingelse skal jeg bruge for at fange det allersidste tegn i name, som er kortere end filena. Jeg har brugt:

if(filena[k]!=0 || name[j]!=-119 ||name[j]!=-1085 || name[j] != NULL)

Hvad hedder den sidste? (Line feed eller carry return)

Tak!

BAMSE!
Avatar billede laffe Nybegynder
23. maj 2002 - 19:34 #1
Det sidste tegn er 0.
Avatar billede laffe Nybegynder
23. maj 2002 - 19:35 #2
Hvad menr du med :

"hvilken betingelse skal jeg bruge for at fange det allersidste tegn i name, som er kortere end filena. "
Avatar billede bamse2000 Nybegynder
23. maj 2002 - 19:37 #3
Hvad mener du? da ikke ....!=0? Det virker ikke... Den overser stadig et tomt felt...
Avatar billede bamse2000 Nybegynder
23. maj 2002 - 19:40 #4
Undskyld!
Jeg mener:

Jeg kigger 2 arrays igennem: filena og name.
Name slutter før filena.
Hvordan finder jeg ud af det?
if(name[k]==XXXXXXX)?
Avatar billede laffe Nybegynder
23. maj 2002 - 19:40 #5
Jeg er ikke helt med på hvilken charkter du søger. Hvilket tegn vil du gerne finde i nedenstående eks.:

filena="abcdef"
name  ="aaabcd"
Avatar billede laffe Nybegynder
23. maj 2002 - 19:43 #6
Ahhhh..ok
if ((strlen(name) < strlen(filena))
{
  // name < filena
}
Avatar billede bamse2000 Nybegynder
23. maj 2002 - 19:44 #7
Det allersidste! Altså hvis
filena="abcdefg"
name="abcde"
så skal jeg finde tegnet efter e i name! Altså det som fortæller at name slut!
Avatar billede laffe Nybegynder
23. maj 2002 - 19:46 #8
if ((strlen(name) < strlen(filena))
{
  char ch;
  ch = filena[strlen(name)];  //
}
Avatar billede brille333 Nybegynder
23. maj 2002 - 19:47 #9
det er '\o' som er i enden af en string!
Avatar billede laffe Nybegynder
23. maj 2002 - 19:49 #10
>bamse2000. Hvis bare vil lægge de to strenge sammen, så kan du også bruge

strcat(filena,name);
Avatar billede bamse2000 Nybegynder
23. maj 2002 - 19:52 #11
laffe > Jeg tror du har misforstået mig, det er:
brille333 > Det er noget lignede det, men det virker ikke i programmet "dev-c++" i windows, men på linux....
Avatar billede bamse2000 Nybegynder
23. maj 2002 - 19:53 #12
Okay, lad mig spørge på en anden måde:
Jeg vil gerne sammenligne 2 ikke-faste størrelse af strenge...
Hvordan finder jeg ud af om
name==filname?
Avatar billede laffe Nybegynder
23. maj 2002 - 19:55 #13
strcmp(str1,str2)
Avatar billede laffe Nybegynder
23. maj 2002 - 19:57 #14
if (strcmp(name,filena)==0)
// name = filena
Avatar billede bamse2000 Nybegynder
23. maj 2002 - 19:58 #15
Sidste spørgsmål! Hvad returnerer strcmp?
Avatar billede laffe Nybegynder
23. maj 2002 - 20:02 #16
str1 < str2     så returneres < 0
str1 = str2        så returneres = 0
str1 > str2    så returneres > 0
Avatar billede bamse2000 Nybegynder
23. maj 2002 - 20:09 #17
Tak! Ærgeligt at mit program stadigt ikke virker...
Avatar billede laffe Nybegynder
23. maj 2002 - 20:11 #18
Hmmmmm...  ;-)
Avatar billede bamse2000 Nybegynder
23. maj 2002 - 20:15 #19
Forresten! Jeg tror fejlen er at name<filename.
Ikke RIGTIGT mindre, men feks:
name    ="TEST";
filename="TEST  ";
Disse skal sammmelignes ens! Hvordan?
Avatar billede laffe Nybegynder
23. maj 2002 - 20:17 #20
Du kan 'strippe' filename for " " spaces, før du sammenligner filename og name.
Avatar billede laffe Nybegynder
23. maj 2002 - 20:19 #21
Her er en strip funktion.

char* strip(char tekst[])
{
  int i = 0;
  while ( (tekst[i] != ' ') && (tekst[i]))
    i++;

  if (tekst[i]== ' ')
    tekst[i] = 0;

    returntekst;
};
Avatar billede bamse2000 Nybegynder
23. maj 2002 - 20:20 #22
Ok, men hvordan? (undskyld, men jeg er ret dårlig til c)
Avatar billede laffe Nybegynder
23. maj 2002 - 20:21 #23
strcmp(strip(filename),strip(name))
Avatar billede bamse2000 Nybegynder
23. maj 2002 - 20:23 #24
TAK TAK TAK! DET VIRKER NU! MANGE TAK! (Du skulle ikke kende en god hjemmeside, med alt det der du har fortalt mig, f.eks. om strlen, strcmp osv)

Bamse
Avatar billede laffe Nybegynder
23. maj 2002 - 20:25 #25
På : http://msdn.microsoft.com/library/

kan du søge på Visual C++ funktioner.
Avatar billede bamse2000 Nybegynder
23. maj 2002 - 20:28 #26
Okay, den ser heftig ud. Tak ellers! Det var dejligt med noget hjælp!
(Du kunne vel ikke lave min opgave ;-) )
Avatar billede laffe Nybegynder
23. maj 2002 - 20:30 #27
Nej tak. Jeg har rigelig at se til ;-)
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