Funktion mit 2 Rückgabewerten
-
Der Mist hat mir grade noch gefehlt...
In Perl musste ich mir da nie große Gedanken drum machen...
Warscheinlich macht sich C++ im Lebenslauf so gut, wie alle sagen.
Aber warum ich von char nicht nach char[8] kann, verstehe ich nicht.
Was hat die [8] da zu bedeuten?mfg
trequ
-
du meinst wohl
char variablenname[8];das wäre ein array vom typ char in dem du 8 char-werte speichern kannst.
und: ja, c++ im lebenslauf isn echter kaufgrund
-
Hallo,
demnach ist char also ein einzelner Buchstabe...
-> Wer hat sich denn den Mist ausgedacht? Dann kann man ja gleich CString nehmen...Sorry, aber das löst alles das Problem nicht...
Da muss ja irgend etwas falsch umgewandelt werden, die Sonderzeichen kommen ja irgendwo her...mfg
trequ
-
geht nicht:
char drive[8] = "A:\\";geht:
char drive[] = "A:\\";
-
versuch mal nen array im CString-Format, in dem du die laufwerksbezeichnungn
wie "A:\" zum schluss speicherst und ein char für den aktuellen laufwerks-
buchstaben zu ermitteln und dann in die CString incl. ":\" zu speichern
-
Hi,
wenn ich drive[] schreibe, kriege ich einen Fehler
"Unable to convert char[4] to char" oder so ähnlich.Wenn ich statt CByteArray ein CString Array verwende, kriege ich lauter Zahlen anstelle von Sonderzeichen.
--> Bitte bedenken: Ich mache C++ erst seit 3 oder 4 Tagen...

Ich verstehe es einfach nicht:
In der Praxis wird man doch öfter mal ein Array von einer Funktion zurückgeben müssen.Das kann doch nicht so schwer sein...

mfg
trequ
-
versuch mal einen CString-Array als membervariable einzufügen und verwende den.
du hast bei einer funktion nie einen array als rückgabewert, höchstens nen
zeiger auf diesen array.
für den laufwerksbuchstaben brauchst du keinen char-array, da nur 1 Buchstabe.
verwende ne einfache char-variable als zwischenspeicher um die dann in den
CString zu formatieren und das ":\" dranzuhängen
-
oder vielleicht hilft dir das weiter:
#include <string.h> #include <stdio.h> void main( void ) { char string[80]; strcpy( string, "Hello world from " ); strcat( string, "strcpy " ); strcat( string, "and " ); strcat( string, "strcat!" ); printf( "String = %s\n", string ); }Output:
String = Hello world from strcpy and strcat!
-
Hallo!
In deinem Beitrag von 16:37:24 19.08.2004 habe ich den Fehler gefunden:
Du hast den Variablentyp geändert. Ich hatte eine Variable dl vom Typ CHAR (den man problemlos in ein BYTE stecken kann) und du hast daraus einen char[8] gemacht. Das geht nicht. Diese Typen vertragen sich nicht.Warum? Ein BYTE ist eine 8 Bit große Speicherstelle. Ein char auch. Ein char[8] sind 8 chars. Nun überleg mal, warum 8 Teile nicht auf den Platz von einem Teil passen.

Als Abhilfe kannst du drive[0] zuweisen. Das ist ja der Laufwerksbuchstabe und nur EIN Buchstabe und nicht gleich mehrere.
Du hast dir eine ziemlich anspruchsvolle Aufgabe gesucht, um dich mit C++ anzufreunden. Kann es sein, dass du den Fehler machst, dich wegen deiner schon vorhandenen Programmierkenntnisse zu übernehmen?
Du magst Pearl gut können, vielleicht sogar sehr gut - aber das heißt nicht, dass du andere Sprachen auch gut kannst. Fang langsam an oder ärgere dich nicht so sehr darüber, dass du kaum voran kommst. (Auch wenn dir ein Chef im Nacken sitzt - davon wirst du auch nicht schneller lernen.)PS: Ohne in Büchern oder der MSDN zu lesen wirst du nicht viel Freude haben, denn es wird sich kaum jemand finden, der die Geduld hat, dir alles haarklein vorzukauen.
C ist nicht einfach, C++ ist noch viel mehr als C und die MFC ist nochmal mehr zu lernen - erkennst du nun, dass du es nicht in einer Woche verstehen wirst?
Schau ruhig mal nach, was ein Begriff bedeutet, der dir um die Ohren geschlagen wird. Wenn du nicht weißt, was eine Referenz ist, dann such die Definition, und frag nach, wenn du sie nicht verstehst. Oder arbeite dich durch ein Buch. Es gibt so viele...
-
Hallo!
ich habe eine Frage .
Wie kann ich die Funktion zum anzeigen von Laufwerken so umformen, damit man die in ein ComboBox einbauen kann?