请教大家一个关于文件读取的问题
我想读一个文件,数据格式是这样的:baihelunwen11 5283727 baihelunwenwang
百合论文网2 zsdqy5283727 baihelunwenwang
baihe 5283727 baihelunwenwang2
baiheren2009 luoshun baiheluoshun
我要取出中间那一列,写入文件
我编的程序怎么也过不去。
我的思路:先用fgets按行来读取,放入数组arr1中;然后对数组arr1的每一个元素用sscanf来读取。但是程序过不去,请指教。
我的程序写在这里:
程序代码:
#include <stdio.h> #include <stdlib.h> int main() { int i=0,j; FILE *fp1,*fp2; char arr1[800000],arr2[5]; if(NULL==(fp1=fopen("sourceData.txt","r"))) {printf("File no1 wrong!\n");} if(NULL==(fp2=fopen("destData.txt","w+"))) {printf("File no2 wrong!\n");} while(!feof(fgets(arr1[i],sizeof(arr1),fp1)))) { //按行读入数据 i++; } int num=i-1; for(j=0;j<num;j++) { sscanf(arr1,"%s %s %s",&arr[1],&arr[2],&arr[3]); fprintf(fp2,"%s\n",arr[2]); } return 0; }