第1个回答 2012-05-19
/*
作用:得到文件内整数数据的函数(没有限制数据个数)
参数:file_path[in]:文件地址;
result_array[out]:读取得到的整型数据一维数组。
返回值:无。
*/
void read_txt_file ( const char *file_path , int [] result_array)
{
FILE *fp = NULL;
int loop = 0;
if ( file_path == NULL || result_array == NULL ) return ;
fp = fopen ( file_path , "r" );
while ( !feof ( fp ) )
{
fscanf ( fp , "%d" , &(result_array[loop++]) );
}
}
我只给出读取的方法,至于排序和打印输出,应该是你可以完成的。本回答被提问者和网友采纳
第2个回答 推荐于2016-07-14
用字符流读出,即可;
参考如下:
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <stdlib.h>
int main(void)
{
int malloc_num = 0;
int i = 0;
FILE *fp = NULL;
if((fp = fopen("./aa.txt", "r")) == NULL)
{
fprintf(stderr, "fopen ./aa.txt failed: %s\n", strerror(errno));
exit(0);
}
fscanf(fp, "%d", &malloc_num);
float *ft = (float *)malloc(malloc_num);
for(i = 0; i < malloc_num; i++)
fscanf(fp, "%f", &ft[i]);
for(i = 0; i < malloc_num; i++)
printf("ft[%d] = %f\n", i, ft[i]);
return 0;
}