Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
idontknow
unregistriert
Zitat
Ich hab das mit (int) char_variable; gemacht, da ich die C Version nicht kenne oO. (war das static_cast<int>?)
Zitat
weil eine Ausgabe vom char Zeichen 'a' hat wie erwartet 65 ergeben was ja stimmen müsste.
in C gibts kein std::stringZitat von »"defaultplayer"«
Zitat
Ich hab das mit (int) char_variable; gemacht, da ich die C Version nicht kenne oO. (war das static_cast<int>?)
Nein, das was du machst passt schon.
Was ich aber nicht ganz verstehe ist, in welcher Form dein String vorliegt; als char* oder als std::string?
idontknow
unregistriert
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
#include <stdio.h> #include <stdlib.h> #define is_alpha(c) \ ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) inline int _strlen(const char* s) { int l; l = 0; while (s[l++] != '\0'); return l - 1; } inline char* remove_special_sing(const char* s) { char* tmp; tmp = malloc(sizeof(char) * _strlen(s)); int i, j; i = j = 0; while (s[i] != '\0') { if (is_alpha(s[i])) tmp[j++] = s[i++]; else ++i; } tmp = realloc(tmp, j + 1); tmp[j] = '\0'; return tmp; } int main(int argc, char* argv[]) { const char s[] = "Das ist ein String mit Sonderzeichen %$&§()?#+*"; char* s2; printf("input string: %s\n", s); s2 = remove_special_sing(s); printf("clean string: %s\n", s2); free(s2); return 0; } |
Zitat von »"David_pb"«
[spam]
sizeof(char) <- sehr sinnvoll
[/spam]
Zitat von »"David_pb"«
Ansonsten lässt sich der Code definitiv noch an der ein oder anderen Stelle etwas "optimieren".
Zitat von »"VuuRWerK"«
Zitat von »"David_pb"«
[spam]
sizeof(char) <- sehr sinnvoll
[/spam]
Was gibt es daran auszusetzen? Weil es sowieso nicht größer als ein byte ist? Hm kann man sich drauf verlassen? Ich weiß es nicht also nehm ich gleich sizeof, der Compiler optimierts weg wenns nicht nötig ist
Werbeanzeige