Ich versuche, char * und const Zeichenfolge verketten, aber das System hängt. Folgendes ist der CodeVerketten mit C-Funktion zu großen char *
unsigned long long size = 2*pow(10,18);
char* string = malloc(size);
strcat(string," ");
Ich bin mir nicht sicher, wie Sie den Fehler beheben. Verwenden Dev C/C++ in Windows 10.
Edit: Vielen Dank für Ihre Kommentare und Antworten. Ich habe die Änderung in meinem Code vorgenommen. Aber es gibt immer noch das gleiche Problem. Die Anweisung wird nicht gedruckt und bleibt weiterhin hängen.
char* string = malloc(20*sizeof(char));
if(string=NULL){
printf("unsuccessful memory allocation");
}
strcat(string," ");
Prüfung für Rückgabewert von 'malloc()' ... 'if (string == NULL) printf ("nicht erfolgreiche Speicherzuweisung"); ' – Cherubim
then' * string = 0; 'oder kopiere die Zeichenfolge vor' strcat'. – BLUEPIXY
Der wahrscheinlichste Grund ist, dass Sie nicht so viel Speicher haben und 'malloc' gibt' NULL' zurück. –