Не используйте символы \t
(табуляция), которые приведут к разделителю табуляции и запятой между каждым значением (которое, как я вижу, дает подгонки libreoffice или excel (является ли это .csv или символом табуляции)file?)
Традиционно вы должны вывести свои значения с разделителями-запятыми с условным условием, чтобы не ставить запятую в начале каждой строки. Все, что вам нужно, это что-то вроде следующего:
for (int i = 0; i < 1940; i++) { /* loop over rows */
for (int j = 0; j < 512; j++) { /* loop over columns */
if (j > 0) /* if not 1st in row */
fprintf (pFile, ",%d", ,X7[i][j]); /* add "," before val */
else
fprintf (pFile, "%d", ,X7[i][j]); /* no comma */
}
fputc ('\n', pFile); /* add newline at end of each row */
}