//《C Primer Plus》p438 13.11.12
#include <stdio.h>
#include <stdlib.h>
#define NAME 20
#define ROWS 20
#define COLS 30
int main(void)
{
FILE * f_n, * f_p;
char name_n[NAME];
char name_p[NAME] = "picture";
int numbers[ROWS][COLS];
char chs[] = " .':~*=&%#";
char picture[ROWS][COLS + 1];
printf("Enter the numbers_file name:");
scanf("%s", name_n);
if ((f_n = fopen(name_n, "r")) == NULL)
{
fprintf(stderr, "Can't open \"%s\" file.\n", name_n);
exit(EXIT_FAILURE);
}
if ((f_p = fopen(name_p, "w")) == NULL)
{
fprintf(stderr, "Can't open \"%s\" file.\n", name_p);
exit(EXIT_FAILURE);
}
int i, j;
for (i = 0; i < ROWS; i++)
{
for (j = 0; j < COLS; j++)
{
fscanf(f_n, "%d", &numbers[i][j]);
picture[i][j] = chs[numbers[i][j]];
}
picture[i][j] = '\0';
fprintf(f_p, "%s\n", picture[i]);
}
if (fclose(f_n) != 0)
{
fprintf(stderr, "Error closing \"%s\" file.\n", name_n);
exit(EXIT_FAILURE);
}
if (fclose(f_p) != 0)
{
fprintf(stderr, "Error closing \"%s\" file.\n", name_p);
exit(EXIT_FAILURE);
}
printf("Done.\n");
return 0;
}
源数据是这样的
0 0 9 0 0 0 0 0 0 0 0 0 5 8 9 9 8 5 2 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 9 0 0 0 0 0 0 0 5 8 9 9 8 5 5 2 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 5 8 1 9 8 5 4 5 2 0 0 0 0 0 0 0 0 0
0 0 0 0 9 0 0 0 0 0 0 0 5 8 9 9 8 5 0 4 5 2 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 5 8 9 1 8 5 0 0 4 5 2 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 4 5 2 0 0 0 0 0 0
5 5 5 5 5 5 5 5 5 5 5 5 5 8 9 9 8 5 5 5 5 5 5 5 5 5 5 5 5 5
8 8 8 8 8 8 8 8 8 8 8 8 5 8 9 9 8 5 8 8 8 8 8 8 8 8 8 8 8 8
9 9 9 9 0 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 9 9 9 9 9 9 9
8 8 8 8 8 8 8 8 8 8 8 8 5 8 9 9 8 5 8 8 8 8 8 8 8 8 8 8 8 8
5 5 5 5 5 5 5 5 5 5 5 5 5 8 9 9 8 5 5 5 5 5 5 5 5 5 5 5 5 5
0 0 0 0 0 0 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 0 0 6 6 0 0 0 0 0
0 0 0 0 2 2 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 5 6 0 0 6 5 0 0 0
0 0 0 0 3 3 0 0 0 0 0 0 5 8 9 9 8 5 0 0 5 6 1 1 1 1 6 5 0 0
0 0 0 0 4 4 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 5 6 0 0 6 5 0 0 0
0 0 0 0 5 5 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 0 0 6 6 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 0 0 0 0 0 0 0 0 0
编译调试都找不出问题
会运行很长时间
然后输出文件是空的
似乎就是写入不了
求解