没太看懂楼主的意思,你指写入文件的ASCII是什么意思,没太明白,你那个就是把0-9写入文件,不需要用FWRITE,下面是写入和读出
#include <stdio.h>
#define ARRAY_SIZE 10
#define FILE_NAME_LENGTH 20
void input_array_data(int liv_array[]);
void write_file(int liv_array[]);
void clear_array(int liv_array[]);
void read_file(int liv_array[]);
void print_array(int liv_array[]);
int main(void)
{
int liv_array[ARRAY_SIZE]; /* 使用数组 */
input_array_data(liv_array); /* 输入数组数据 */
print_array(liv_array); /* 打印数组 */
write_file(liv_array); /* 数组数据写入文件 */
clear_array(liv_array); /* 置空数组 */
read_file(liv_array); /* 从文件中读取 */
print_array(liv_array); /* 打印数组 */
return 0;
}
void input_array_data(int liv_array[])
{
int i;
printf("enter every array element:\n");
for (i = 0; i < ARRAY_SIZE; i++)
{
scanf("%d", &liv_array[i]);
}
}
void write_file(int liv_array[])
{
FILE *fp;
int i;
char liv_filename[FILE_NAME_LENGTH];
printf("enter write filename: ");
scanf("%s", liv_filename);
if ((fp = fopen(liv_filename, "wt")) == NULL)
{
exit(1);
}
for (i = 0; i < ARRAY_SIZE; i++)
{
fprintf(fp, "%d ", liv_array[i]);
}
fclose(fp);
}
void clear_array(int liv_array[])
{
int i;
for (i = 0; i < ARRAY_SIZE; i++)
{
liv_array[i] = 0;
}
}
void read_file(int liv_array[])
{
FILE *fp;
int i;
char liv_filename[FILE_NAME_LENGTH];
printf("enter read filename: ");
scanf("%s", liv_filename);
if ((fp = fopen(liv_filename, "rt")) == NULL)
{
exit(1);
}
for (i = 0; i < ARRAY_SIZE; i++)
{
fscanf(fp,"%d", &liv_array[i]);
}
}
void print_array(int liv_array[])
{
int i;
for (i = 0; i < ARRAY_SIZE; i++)
{
printf("%d ", liv_array[i]);
}
printf("\n");
}