Archiv verlassen und diese Seite im Standarddesign anzeigen : char zu string
BodyLove
2008-06-09, 12:27:48
hey,
ich versuche gerade diesen Caesar-Verschlüsselung zu knacken. Habe auch dementsprechend etwas aufgebaut. Jetzt muss ich aber ein Char in ein String umwandeln und habe damit probleme.
strcpy funktioniert schonmal nicht. Das Casten hat auch nicht funktioniert. Was kann man machen?
Vielen dank.
Ein string ist in C ein char array das am Ende zur Terminierung NUL hat (also \000)
Wenn du es mit sprintf o.ä ausgeben willst kannst auch einfach %c statt %s nehmen.
instinct
2008-06-09, 13:10:42
char c;
c = 'a';
char *string;
strcpy(string,&c);
Kann es gerade nicht testen, aber sollte funktionieren. strcpy erwartet als zweiten Parameter ein Pointer auf eine Zeichenkette, also kannste einfach die SpeicherAdresse des char's übergeben.
char c;
c = 'a';
char *string;
strcpy(string,&c);
Kann es gerade nicht testen, aber sollte funktionieren. strcpy erwartet als zweiten Parameter ein Pointer auf eine Zeichenkette, also kannste einfach die SpeicherAdresse des char's übergeben.
Das kann nicht funktieren weil string auf zufälligen RAM zeigt und nicht extra alloziert wurde und weil wie gesagt strings in C NUL terminiert sind und somit strcpy() eine zufällige Anzahl an Bytes nach string kopiert und eben nicht nur den einen char.
Man kann bei (s)printf wie gesagt einfach %c statt %s nutzen.
Wenn man aber unbedingt einen char in einem string haben will dann so:
char string[2];
char c = 'a';
string[0] = c;
string[1] = '\000';
oder wenns einem lieber ist kann man auch einfach string[1] = 0; schreiben
Ich bevorzuge '\000' weil das vom mcedit hervorgehoben wird
Tiamat
2008-06-09, 17:33:31
Hi,
in Java wäre die Lösung
char x = 'H';
String bla = String.valueOf(x);
Gruß
Tiamat
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.