Using a mutex to read from a file
Code broken

Your code doesn't work for several reasons:


You are not passing a function to pthread_create():

err = pthread_create(&amp;(tid[i]), NULL, readFromFile(i), NULL);


Here you are calling the function readFromFile() instead of passing a function pointer to pthread_create().  So you aren't using a thread at all.  Worse than that, when readFromFile() returns, a random value will be passed to pthread_create() because readFromFile() doesn't actually return any particular value.  This will cause the newly created thread to crash.
Even had you done that part correctly, your readFromFile() function doesn't do what you wanted.  It looks like you wanted each thread to read one character and then let another thread read the next character.  But what your function actually does is read the whole file instead of one character.
You are calling strcat() with a character as the second argument instead of a string.  This will cause a crash if the program ever reaches that line.


Pay attention to warnings

If you had built with full warnings, you would have been alerted to mistakes #1 and #3 I listed above.

Implementing a mutex?

The title of the question is misleading.  You aren't implementing a mutex.  You are trying to use one.