Этот код работает для меня:
#include <string.h>
#include <stdio.h>
int main ()
{
char myTxt[100];
myTxt[0] = 0;
strcat(myTxt, "data");
strcat(myTxt, "\n");
strcat(myTxt, "data1");
printf("%s\n", myTxt);
return 0;
}
Вы инициализировали первый байт буфера?Редактировать: работает также с файлом в качестве вывода:
#include <string.h>
#include <stdio.h>
int main ()
{
char myTxt[100];
FILE *out = fopen("out.txt", "wt");
myTxt[0] = 0;
strcat(myTxt, "data");
strcat(myTxt, "\n");
strcat(myTxt, "data1");
fprintf(out, "%s\n", myTxt);
fclose(out);
return 0;
}