tobi100
Cadet 4th Year
- Registriert
- Dez. 2008
- Beiträge
- 69
Hallo Community,
ich habe nach längerer Zeit wieder mit der Programmiersprache C angefangen und habe folgendes Problem bei diesem Code.
Bei der strcat Funktion stützt mir das Programm ab (Run Failed) und ich habe keine Ahnung, was ich falsch gemacht habe. Wenn ich die Zeile auskommentiere, funktioniert es. Ich möchte mit dem Programm aus einem Char*-Array 50 mal die Konkatenation von testStringArray und temp ausgeben, das das i in Char* Form bekommt.
Hat jemand eine Idee? Vielen Dank im Vorraus.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*
*
*/
int main(int argc, char** argv) {
char** testStringArray;
testStringArray = (char*) malloc(sizeof(char*) * 10);
int i;
for (i = 0; i < 50; i++)
{
testStringArray = malloc (sizeof(char) * 20);
}
for (i = 0; i < 50; i++)
{
testStringArray = "test";
char* temp = (char*) malloc (sizeof(char) * 3);
sprintf(temp, "%d", i);
printf("%s\n", temp);
strcat(testStringArray, temp); //wenn man diese Zeile auskommentiert,
//funktioniert das Programm
printf("%s\n", testStringArray);
free(temp);
}
return (EXIT_SUCCESS);
}
ich habe nach längerer Zeit wieder mit der Programmiersprache C angefangen und habe folgendes Problem bei diesem Code.
Bei der strcat Funktion stützt mir das Programm ab (Run Failed) und ich habe keine Ahnung, was ich falsch gemacht habe. Wenn ich die Zeile auskommentiere, funktioniert es. Ich möchte mit dem Programm aus einem Char*-Array 50 mal die Konkatenation von testStringArray und temp ausgeben, das das i in Char* Form bekommt.
Hat jemand eine Idee? Vielen Dank im Vorraus.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*
*
*/
int main(int argc, char** argv) {
char** testStringArray;
testStringArray = (char*) malloc(sizeof(char*) * 10);
int i;
for (i = 0; i < 50; i++)
{
testStringArray = malloc (sizeof(char) * 20);
}
for (i = 0; i < 50; i++)
{
testStringArray = "test";
char* temp = (char*) malloc (sizeof(char) * 3);
sprintf(temp, "%d", i);
printf("%s\n", temp);
strcat(testStringArray, temp); //wenn man diese Zeile auskommentiert,
//funktioniert das Programm
printf("%s\n", testStringArray);
free(temp);
}
return (EXIT_SUCCESS);
}