As others have noted, you have not provided anything to explain where
request for member in something not a structure or union
would have come from, in your code for example, we do not see buffer defined anywhere... In any case:
Brute force method: (compiles, builds and runs as is in ANSI C)
#include <ansi_c.h>
#define newBinaryFile "C:\\tempExtract\\newbinaryfile.bin"
int main(void)
{
FILE *fp;
int i;
char clientDataNew[5][128] = {"","","","",""};
char clientdata[5][128] = { "This string is 128 bytes longggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg1\n",
"This string is 128 bytes longggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg2\n",
"This string is 128 bytes longggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg3\n",
"This string is 128 bytes longggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg4\n",
"This string is 128 bytes longggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg5\n"};
fp = fopen (newBinaryFile, "wb");
fwrite(clientdata, sizeof(char), sizeof(clientdata), fp);
// for(i=0;i<5;i++)
// {
// fputs(clientdata[i], fp);
// }
fclose (fp);
fopen(newBinaryFile, "rb");
fread(clientDataNew, sizeof(char),sizeof(clientdata),fp);
for(i=0;i<5;i++)
{
(fgets (clientDataNew[i], 128, fp));
}
fclose(fp);
for(i=0;i<5;i++)
{
printf("%s", clientDataNew[i]);
}
getchar();
return 0;
}