double free or corruption (fasttop)

The problem is here: Basically, when you free temp2, you free first, not the memory allocated here: , which remains a memory leak, because after the assignment it can’t be freed anymore. Also, your code has probably some more problems (one is that you shouldn’t use fflush on an input stream), but without some more details, it’s … Read more

C dynamically growing array

I can use pointers, but I am a bit afraid of using them. If you need a dynamic array, you can’t escape pointers. Why are you afraid though? They won’t bite (as long as you’re careful, that is). There’s no built-in dynamic array in C, you’ll just have to write one yourself. In C++, you … Read more

strcpy vs strdup

strcpy(ptr2, ptr1) is equivalent to while(*ptr2++ = *ptr1++) where as strdup is equivalent to (memcpy version might be more efficient) So if you want the string which you have copied to be used in another function (as it is created in heap section) you can use strdup, else strcpy is enough.

How does wait(NULL) exactly work?

wait(NULL) will block parent process until any of its children has finished. If child terminates before parent process reaches wait(NULL) then the child process turns to a zombie process until its parent waits on it and its released from memory. If parent process doesn’t wait for its child, and parent finishes first, then the child process becomes orphan and is … Read more

C read file line by line

I wrote this function to read a line from a file: The function reads the file correctly, and using printf I see that the constLine string did get read correctly as well. However, if I use the function e.g. like this: printf outputs gibberish. Why?

munmap_chunk(): invalid pointer

In the function second(), the assignment word = “ab”; assigns a new pointer to word, overwriting the pointer obtained through malloc(). When you call free() on the pointer later on, the program crashes because you pass a pointer to free() that has not been obtained through malloc(). Assigning string literals does not have the effect of copying their content as you might have thought. To … Read more

Categories C Tags

How to convert an int to string in C?

EDIT: As pointed out in the comment, itoa() is not a standard, so better use sprintf() approach suggested in the rivaling answer! You can use itoa() function to convert your integer value to a string. Here is an example: If you want to output your structure into a file there is no need to convert any value beforehand. You can just use … Read more