要求拷贝一个文件,例如将1.c中的内容拷贝到2.c做中2.要求计算一个文件的大小3.要求计算一个文件有几行,文件的最后一行也有一个‘\n‘

1.要求拷贝一个文件,例如将1.c中的内容拷贝到2.c做中

2.要求计算一个文件的大小

3.要求计算一个文件有几行,文件的最后一行也有一个'\n'

#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
	if(argc<2)
	{
		printf("请输入要要打开的文件名");
		return -1;
	}
	FILE *fp=fopen(argv[1],"r");
	FILE *fp2=fopen(argv[2],"w");
	if (NULL==fp)
	{
		perror("fopen:");
		return -1;
	}
	if(NULL==fp2)
	{
		perror("fopen2:");
		return -1;
	}
	//读出并copy文件
	int count_line=0;    //定义行数
	int count=0;          //定义字节数
	int c;
	while(1)
	{
		c=fgetc(fp);
		if(c=='\n')
		{
			count_line++;
		}
		if(c<0)
		{
			break;
		}
	    fputc(c,fp2);
		count++;
		printf("%c",c);
	}
      printf("行数:%d\n",count_line);
	  printf("字节数:%d\n",count);

	//关闭文件
	fclose(fp);
	fclose(fp2);
	return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, const char *argv[])
{
	FILE *fp_r=fopen("./usr.txt","r");
	if(NULL==fp_r)
	{
		printf("%d\n",__LINE__);
		perror("fopen:");
		return -1;
	}
	
	char str_account[20];   //定义账户
	char str_key[20];         //定义密码
	printf("请输入账户和密码:");
	scanf("%s%s",str_account,str_key);
	char str[20];
	while((fscanf(fp_r,"%s",str))!=-1)
	{
		if(0==strcmp(str_account,str))
		{
			fscanf(fp_r,"%s",str);        //账户判定存在,往后读,比较密码
			if(0==strcmp(str_key,str))
			{
				printf("登录成功\n");
				fclose(fp_r);
				return 0;
			}
			else
			{
				printf("密码错误\n");
				fclose(fp_r);
				return 0;
			}
		}
	}
	printf("账户不存在\n");
	//关闭文件
	fclose(fp_r);
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值