numCheck is number between 1-1000. This code gives me a segfault only when I collect the results of sprintf in charcheck. If I simply use sprintf without using the results, I don’t get a seg fault. What’s happening here?
char * numString;
int charcheck = sprintf(numString, "%d", numCheck);
You need to provide your own memory for
sprintf. Also, don’t usesprintf, but rathersnprintf:Alternatively you can allocate memory dynamically: