Avatar billede susrn Nybegynder
02. april 2003 - 09:14 Der er 6 kommentarer og
1 løsning

char til string

jeg har følgende kode som ikke returnerer indholdet af buff men noget garbage, hvordan så?

String HentSprog::text( short nr )
{
  char buff[201] = {0};
  short len = dllFunc(nr, buff, 200);
  int i = 3*4;
  return String(buff, len);
}
Avatar billede arne_v Ekspert
02. april 2003 - 09:27 #1
Det er meget svært at sige, hvad problemet er p.g.a. de foreliggende
oplysninger.

Et vildt gæt ville være at du ville lave:

string HentSprog::text( short nr )
{
  char buff[200];
  short len = dllFunc(nr, buff, sizeof(buff));
  return string(buff, len);
}
Avatar billede susrn Nybegynder
02. april 2003 - 09:46 #2
1)Koden er ikke min, men den skal returnere en String (borland builder 6) og String(char[], short) er vel en constructor, men der kommer garbage retur fra den? Det er problemet, der skulle komme en String. Borland har sin egen String, så er det vel ikke smart at bruge string??

2)at erklære char buff[201] = {0}; skulle være en smart måde at få nul termineret buff på, er det dumt siden du har fjernet det?
 
3)int i skulle ikke have været med:-)
Avatar billede susrn Nybegynder
02. april 2003 - 10:13 #3
problemet er løst, det var dllFunc

Men jeg vil stadig gerne høre kommentar på
char buff[201] = {0};

og hvad sker der egnentlig når man erklærer,
char* eks[] mht hukommelse?
Avatar billede arne_v Ekspert
02. april 2003 - 10:34 #4
char buff[201] = {0};

nulstiller tilsyneladende alle elementer i arrayet (jeg har faktisk
ikke set den konstruktion før).
Avatar billede arne_v Ekspert
02. april 2003 - 10:36 #5
char* eks[] = { "a", "bb" };

laver:
  et konstant char array med værdien "a"
  et konstant char array med værdien "bb"
  et array af pointer til char at størrelsen 2 som indeholder pointere til de 2 konstanter
Avatar billede arne_v Ekspert
02. april 2003 - 10:38 #6
NB: grunden til at jeg skrev string med småt er at ANSI C++ har en
sådan. Men jeg kan forstå at Borland C++ Builder har en String med
stort S.
Avatar billede arne_v Ekspert
02. april 2003 - 10:39 #7
Og et svar i tilfælde af at du finder noget af ovenstående af værdi.
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