C语言(从文件中读取数据并进行字符拆分)

您所在的位置:网站首页 c语言怎样从文件中读取数组 C语言(从文件中读取数据并进行字符拆分)

C语言(从文件中读取数据并进行字符拆分)

#C语言(从文件中读取数据并进行字符拆分)| 来源: 网络整理| 查看: 265

从文件中读取数据并进行字符拆分 应用到文件读取,数组比较(冒泡),指针、子函数、字符串等知识 #include #include #include #define SIZE 200

int openfile(char *original);//声明一个函数 void getdata(char *original,int *nowdata); //字符分割函数声明 int count(char *original); void sortdata(int *nowdata,int n);

void writefile(int *nowdata,int n);

int main() {

char str[SIZE]; int nowdata[SIZE]; openfile(str); // 打开文件并进行原始文件数据的读取 getdata(str,nowdata); // 字符分割函数引用 int n=0; n=count(str); printf("\n去掉逗号后初始文本数据个数:%d\n",n); int *p; p=nowdata; sortdata(p,n); writefile(nowdata,n); return 0;

}

// 打开原始文件,并判断是否成功,打开若成功,则输入到数组中,并记录下有多少个数 int openfile(char *original) { FILE *DataFrom; // 定义一个文件指针 char OriginalFileName[64]; // 定义一个数组名,用于文件名的读取,最长64位 char ch; // 接收数据 int count=0; // 用于统计文本中数据的个数(‘,’+1个) int i=0; // 打开文件&&判断是否打开成功 if((DataFrom=fopen(“OriginalFileName.txt”,“r”))==NULL) { printf(“fail open OriginalFileName!\n”); exit(0); }

printf("初始文本文件如下:"); while(!feof(DataFrom)) { ch=fgetc(DataFrom); if(ch==',') count++; *(original+i)=ch; i++; putchar(ch); } printf("\n初始文本中数据的个数:%d\n",count+1); printf("\n"); //fclose(OriginalFileName); return count+1; }

int count(char *original) { FILE *DataFrom; // 定义一个文件指针 char OriginalFileName[64]; // 定义一个数组名,用于文件名的读取,最长64位 char ch; // 接收数据 int count=0; // 用于统计文本中数据的个数(‘,’+1个) int i=0; // 打开文件&&判断是否打开成功 if((DataFrom=fopen(“OriginalFileName.txt”,“r”))==NULL) { printf(“fail open OriginalFileName!\n”); exit(0); }

//printf("初始文本文件如下:"); while(!feof(DataFrom)) { ch=fgetc(DataFrom); if(ch==',') count++; i++; } return count+1; }

void getdata(char *original,int nowdata) // 字符分割函数使用 { char token = strtok(original, “,”); int j=0; printf(“分割以后的字符如下:\n”); while( token!= NULL ) { nowdata[j] = atoi(token); token = strtok(NULL, “,”); printf("%d\t",nowdata[j]); j++;

}

}

void sortdata(int x[],int n) { int i,j,k; int temp; for(i=0;i FILE *DataTo; // 定义一个文件指针 char AfterFileName[64]; // 定义一个数组名,用于文件名的读取,最长64位 // 打开文件&&判断是否打开成功 if((DataTo=fopen(“AfterFileName.txt”,“wb”))==NULL) { printf(“fail open OriginalFileName!\n”); exit(0); }

fwrite(nowdata,4, n,DataTo); fclose(DataTo);

}



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3