![]() |
Strings kopieren ?
hallo,
ich wollte gerade mal was testen und dabei bin ich auf was merkwürdiges gestoßen! ich kopiere mit der funktion strcpy einen string in eine char rein und das ergebnis inst richtig komisch! hier mein code:
Code:
als ausgabe kommt folgendes raus:
void test(char* string)
{ strcpy(string, "HELLO"); std::cout << string << std::endl; } int main(void) { char nix; test(&nix); std::cout << nix << std::endl; getch(); return 0; }
Code:
Wieso ist das so? Hat jemand ne Ahnung?
HELLO // von der funktion test
H // von der main funktion |
Re: Strings kopieren ?
Wie sieht den die main aus?
|
Re: Strings kopieren ?
Ein Char ist nur ein Zeichen, daher wird wahrscheinlich nur der erste Buchstabe wiedergegeben.
Mfg |
Re: Strings kopieren ?
Bist Du im falschen Forum gelandet?
Hier ist die Delphi-Praxis und nicht die C-Praxis. Ich könnte Dir ja jetzt eine lange Story von Pointern und so erzählen, aber ich bin müde, habe Kopfweh und mache deshalb jetzt Feierabend... |
Re: Strings kopieren ?
Zitat:
Zweitens: Schonmal bei "Neues Thema" die Auswahl der Programmiersprachen angesehen? Drittens: Schonmal die Beschreibung der Sparte gelesen? Viertens: Jemandem zu sagen, man könne das Problem erklären, werde es aber nicht tun, fällt wohl nicht gerade unter "konstruktiv". Fümpftens: Mit Pointern hat das sowieso nichts zu tun (abgesehen davon, dass er sich mit diesen gerade den Speicher zerschießt). Fußball-Robby hat es schon geschrieben: Wenn man ein Char an den Output-Stream schickt, darf man als Ausgabe auch nicht mehr als ein Zeichen erwarten. Sechstens: @mkinzler: :gruebel: :mrgreen: ? |
Re: Strings kopieren ?
/edit:
Beleidigung entfernt und als pn geschickt. |
Re: Strings kopieren ?
Das gilt jetzt aber nicht, hab doch gerade den Fehler in der Aufzählung behoben :P . Aber danke für das Angebot :cheers: .
|
Re: Strings kopieren ?
Zitat:
|
Re: Strings kopieren ?
Zitat:
erstens: das ist c: normalerweise hab ich hier immer c fragen stellen können. zweitens: gibt es diese Auswahl bei programmieren allgemein nicht!. drittens: ja. 4.: ok 5. Fümpftens schreibt man erstens so: fünftens und den rest hat jemand anders gesagt aber ich nicht. danke trotzdem an diejenigen, die versucht haben das ein bisschen zu erklären! |
Re: Strings kopieren ?
Und jetzt einmal ganz tief durchatmen, den Thread nochmal durchlesen und realisieren, dass ich dich/deinen Thread verteidigt habe :gruebel: .
Zitat:
Gelöst ist dein Problem aber noch nicht, wie ich angedeutet habe: Mit deinem String schreibst du über "nix" hinaus und überschreibst den dahinterliegenden Speicher. Für die Lösung musst du aber auf jemanden warten, der von C++ etwas mehr versteht als ich. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz