1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <malloc.h> 4 5 void readNum(char* filename, float *numArray,const int begin, const int num); 6 /************************************************** 7 ** Function: int main(int argc, char** argv) 8 ** Params: 9 ** Return: 0 - 成功 10 ** Author: kennel 11 ** Time: 2012.07.06 12 ** Description:程序入口 13 ***************************************************/ 14 int main(int argc, char** argv) 15 { 16 17 float *Array; 18 int num; //需要取的数字个数 19 int firstNum; //从第firstNum个数字取 20 int i = 0; //验证目标数组存放的数字时,数组下标 21 22 scanf("%d %d", &firstNum, &num); 23 printf("从文本1.txt中的第%d个数开始读%d个数\n", firstNum, num); 24 25 Array = (float*)malloc(sizeof(float) * num);//申请数组内存空间 26 readNum("1.txt", Array, firstNum, num); 27 28 printf("验证数组中的值:"); 29 for (; i < num; i++) 30 { 31 printf("%f ", Array[i]); 32 } 33 free(Array); 34 35 scanf("%d", &num);//此句无任何用处,只是为了看终端显示,防止程序一闪消失 36 37 return 0; 38 } 39 /****************************************************************************** 40 ** Function: void readNum(char* filename, float *numArray, 41 ** const int begin, const int num) 42 ** Params: char* filename - 需要打开的文件名 43 ** float *numArray - 目的数组,将获取的数放入此数组中 44 ** const int begin - 文件filename中第begin个数字 45 ** const int num - 需要从文件filename中取的数字个数 46 ** Return: void 47 ** Author: kennel 48 ** Time: 2012.07.06 49 ** Description:从文件filename中的第begin个数开始读num个数,分别存入数组numArray中 50 *******************************************************************************/ 51 void readNum(char* filename, float *numArray,const int begin, const int num) 52 { 53 FILE *fp; 54 int i = 0; 55 56 if ((fp = fopen(filename,"r")) != NULL) 57 { 58 if (!feof(fp)) 59 { 60 for (; i < begin - 1; i++) 61 {//为了找到第一个数字的位置 62 fscanf(fp, "%f", &numArray[0]); 63 //printf("%f ", numArray[0]); 64 } 65 printf("\n"); 66 i = 0; 67 for (; i < num; i++) 68 {//从找到的数字位置开始的num个数存入数组 69 fscanf(fp, "%f", &numArray[i]); 70 //printf("%f ", numArray[i]); 71 } 72 } 73 } 74 75 fclose(fp); 76 }
1.txt中内容:
4.2 6.3 7.6
9.9
8.23
运行:
3 2
从文本1.txt中的第3个数开始读2个数
验证数组中的值:7.600000 9.900000
 
                    
                     
                    
                 
                    
                 

 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号