前言
本文分为两部分,其中一部分主要使用C语言编程实现读取文件内容(要打开的文件名称采用命令行方式输入),统计文件内容的行数,并将文件内容保存到数组里面打印输出。 另一部分使用C语言编程实现读取文件内容(要打开的文件名称采用命令行方式输入),统计文件内容的行数,保存文件内容的数组采用动态分配内存的方式,这样不管文件大小,都可以进行文件内容读取保存。同时还可将读取的文件内容使用fprintf函数保存到另一个文件中。
第一部分
对保存文件内容的数组分配200个int型长度的内存。 主要使用c语言从命令行输入文件,读入文件,统计行数,并将文件内容保存到数组里面。
程序
#include
#include
#include
#include
int main(int argc,char* argv[]) //命令行传参,argc代表传入参数个数,argv表示传入的参数
{
int i,j;
int k=0;
int count=0; //统计文件中字符个数
int sum_row; //统计文件中字符个数
int flag=0;
FILE *fp; //文件指针
FILE *fp1;
int a_in[200]; //保存文件内容的数组
int b_in[200]; //保存文件内容的数组
fp=fopen(argv[1],"r"); //打开文件,只读
//fp1=fopen("int_data.txt","r");
fp1=fopen(argv[1],"r");
if(fp==NULL)
{
printf("File cannot open! " );
//exit;
return 0;
}
if(argc!=2) //判断输入参数个数,如果不为2个就报错
{
printf("参数个数错误");
return -1;
}
while(!feof(fp)) //读文件,直到文件末尾
{
flag = fgetc(fp); //将文件内容附给flag
if(flag == '\n') //如果为\n表示到行尾,便进行计数
count++;
}
sum_row = count+1; //加上文件最后一行,即为文件总的行数
printf("文件行数为:%d",sum_row); //打印文件行数,因为每行只有一个数,所以即统计文件中有多少个数
printf("\n");
for(i=0;i |