Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Kurze char Frage

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ]
010
31.08.2005, 11:49 Uhr
imhotep
followed the white rabbit


erstmal geht das mit "char * test = new char[100];" nicht char ist keine Klasse.

Habs mal getestet, mein Compiler meckert, weil die Funktion eine lokale Variable zurückgeben. Denke, dass der Kompiler den Speicherbereich an die Variable weiter reicht und in deiner Situation danach freigibt. Besser wärs vielleicht so.

C++:
void testClass::testFunktion(char * in){
  sprintf(in,"hallo du");
}

/* ........ */

char lala[100];
testFunktion(lala);
printf("%s", lala);

Dieser Post wurde am 31.08.2005 um 11:49 Uhr von imhotep editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
31.08.2005, 11:50 Uhr
~Luna
Gast


Ist nicht so das ich nicht seid 2 Jahren c++ Progge. Ich hab nen verständnis für strings, nur bis jetzt war ich der meinung das man alles mit char machen kann und sollte. Vielleicht fehler bei mir aber ich will ja dazu lernen und da ich gerade ne com componente progge dachte ich ich orientiere mich mal in alle richtungen. Was nen char ist welche größe ein char hat was ne char array ist etc. ist mir schon klar!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
31.08.2005, 11:52 Uhr
ao

(Operator)



Zitat von ~Luna:
Wen ja wieso arbeitet man überhaupt noch mit char?

Weil es gigabyteweise alten C-Code gibt, der vor dem C++-Durchbruch entwickelt wurde, und der natürlich in C weitergepflegt wird.
Weil es Plattformen gibt, für die nur C- aber keine C++-Compiler erhältlich sind, z.B. kleinere Embedded-Systeme. C-Compiler sind viel einfacher gestrickt als C++-Compiler, und die Portierung auf ein neues Zielsystem ist dementsprechend leichter.
Außerdem arbeitet kein Entwickler, der noch alle Tassen im Schrank hat, längere Zeit direkt auf dem char*-API. Dafür besorgt man sich eine Wrapper-Bibliothek, oder, wenn man keine passende findet, schreibt man selber eine.

std::string ist auch nur ein Wrapper um char*. Allerdings "der" Standard-Wrapper.

ao

Dieser Post wurde am 31.08.2005 um 11:55 Uhr von ao editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
31.08.2005, 11:56 Uhr
~Luna
Gast


@imhotep

wie das geht nicht


C++:

char *test= new char[100];



das geht doch ohne Probleme. Mein Compiler macht das ohne jeden Kommentar? Hab noch nie gehört ,dass das nicht geht?? Erklär mal bitte
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
31.08.2005, 11:59 Uhr
imhotep
followed the white rabbit


hab meinen auf c++-Modus gesetz, da hat ers auch gefressen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
31.08.2005, 12:02 Uhr
~Luna
Gast


@imhotep

wie würde man das den in c machen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
31.08.2005, 12:03 Uhr
~Luna
Gast


@alle

Wenn ich nun std:string benutze kann ich keine memLeeks mehr haben, zu mindestens bei den strings??
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
31.08.2005, 12:04 Uhr
imhotep
followed the white rabbit


char test[100];
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
31.08.2005, 12:16 Uhr
~Luna
Gast


?????
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
31.08.2005, 12:35 Uhr
virtual
Sexiest Bit alive
(Operator)



Zitat von ~Luna:
@alle

Wenn ich nun std:string benutze kann ich keine memLeeks mehr haben, zu mindestens bei den strings??


Ja. Wenn Du wirklich die Wahl hast, dann benutze std::string, eben auch wegen der Memoryleaks, aber eben auch wegen der leichteren Handhabbarkeit
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: