13. januar 2003 - 19:46Der er
2 kommentarer og 2 løsninger
Sende en char fra en funktion til en anden
Jeg har indlæst indholdet af en fil med: fread(inText,20500,1,in);
Nu kunne jeg godt tænke mig at lave en funktion x(inText), der tager indholdet af inText og gør et-eller-andet ved det. Bagefter skal x returnerer inText til der hvor x blev kaldt.
Hvordan skal jeg deklarere x? (altså som int, void, char etc etc)
Jeg temmelig meget newbie inden for C, men har erfaring med PHP og Delphi, og jeg har derfor meget lidt styr på C's måde at håndtere variabeltyper på.
... char* txt2; ... fread(inText,20500,1,in); txt2=BevarOriginal(inText); // Lav en kopi af inText og gør noget ved kopien cout << txt2 << " - " << inText; Goer_et_eller_andet(inText); // Gør noget ved inText uden at lave en kopi cout << txt2 << " - " << inText; free(txt2);
// Her gør vi et eller andet ved teksten. void Goer_et_eller_andet(char* txt) { int i, j; char c;
// Denne funktion laver en kopi af teksten og ændrer kun i kopien char* BevarOriginal(char* txt) { char* t2=malloc(strlen(txt)); strcpy(t2, txt); Goer_et_eller_andet(t2);
return(t2); }
Synes godt om
Ny brugerNybegynder
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.