AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Strings kopieren ?

Ein Thema von Mark90 · begonnen am 1. Apr 2008 · letzter Beitrag vom 1. Apr 2008
Antwort Antwort
Seite 1 von 2  1 2      
Mark90
(Gast)

n/a Beiträge
 
#1

Strings kopieren ?

  Alt 1. Apr 2008, 16:59
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:
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;
}
als ausgabe kommt folgendes raus:

Code:
HELLO // von der funktion test
H // von der main funktion
Wieso ist das so? Hat jemand ne Ahnung?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Strings kopieren ?

  Alt 1. Apr 2008, 17:01
Wie sieht den die main aus?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Strings kopieren ?

  Alt 1. Apr 2008, 17:04
Ein Char ist nur ein Zeichen, daher wird wahrscheinlich nur der erste Buchstabe wiedergegeben.

Mfg
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Strings kopieren ?

  Alt 1. Apr 2008, 17:04
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...
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#5

Re: Strings kopieren ?

  Alt 1. Apr 2008, 17:12
Zitat von RavenIV:
Hier ist die Delphi-Praxis und nicht die C-Praxis
Erstens: Das ist nicht C.
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: ?
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Strings kopieren ?

  Alt 1. Apr 2008, 17:14
/edit:
Beleidigung entfernt und als pn geschickt.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#7

Re: Strings kopieren ?

  Alt 1. Apr 2008, 17:16
Das gilt jetzt aber nicht, hab doch gerade den Fehler in der Aufzählung behoben . Aber danke für das Angebot .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Strings kopieren ?

  Alt 1. Apr 2008, 17:16
Zitat:
Sechstens: @mkinzler: Grübelnd... Mr. Green ?
Man sollte den Code auch auseinanderfalten
Markus Kinzler
  Mit Zitat antworten Zitat
Mark90
(Gast)

n/a Beiträge
 
#9

Re: Strings kopieren ?

  Alt 1. Apr 2008, 18:20
Zitat von Khabarakh:
Zitat von RavenIV:
Hier ist die Delphi-Praxis und nicht die C-Praxis
Erstens: Das ist nicht C.
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: ?
ja kollege ich weiß deine frohe botschaft sehr zu schätzen, schau dir das an - - ->

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!
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#10

Re: Strings kopieren ?

  Alt 1. Apr 2008, 18:50
Und jetzt einmal ganz tief durchatmen, den Thread nochmal durchlesen und realisieren, dass ich dich/deinen Thread verteidigt habe .
Zitat:
erstens: das ist c:
Hu? Wer programmiert hier C++ - ich oder du ? Und hinter diese erste Aussage von mir darfst du auch einen fetten "" setzen, wenn es damit verständlicher wird.

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.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz