7.25作业

用fgetc与fputc函数实现

1、文件拷贝,例如将7.txt的内容拷贝到8.txt中

2、要求用fgets计算一个文件有多少字节

3、用fgetc计算一个文件有几行

#include
#include
#include
int main(int argc, const char *argv[])
{
	char s=0,n=0;
	int count=0;
	FILE *fp1=fopen("./7.txt","w");
	FILE *fp2=fopen("./8.txt","w");
	if(NULL==fp1)
	{
		perror("fp");
		return -1;
	}
	printf("fopen success\n");
	if(NULL==fp2)
	{
		perror("fp");
		return -1;
	}
	printf("fopen success\n");
	fputc('4',fp1);
	fputc('a',fp1);
	fputc('b',fp1);
	fputc('\n',fp1);
	fputc('\n',fp1);
	fputc('c',fp1);
	fputc('\n',fp1);
	fclose(fp1);
	fp1=fopen("./7.txt","r");
	while((s=fgetc(fp1))!=EOF)
	{
		if('\n'==s)
			n++;
		fputc(s,fp2);
		count++;
	}
	if(fclose(fp1)<0)
	{
		printf("fclose erro");
		return -1;
	}		
	if(fclose(fp2)<0)
	{
		printf("fclose erro");
		return -1;
	}		
	printf("有%d字节\n",count);
	printf("有%d行\n",n+1);
	return 0;
}

7.25作业_第1张图片

实现登录功能。自定义一个usr.txt,手动输入账户密码,格式如下:账户 密码

例如: zhangsan 12345

lisi abcde

wangwu abc123

需求如下:

从终端获取账户密码,与文件中的账户密码比较

若终端输入的账户不存在,则输出账户不存在

若终端输入的账户存在,但是密码不正确,则输出密码错误

若账户密码均正确,则输出登录成功

#include
#include
#include
int main(int argc, const char *argv[])
{
	FILE *fp=fopen("./usr.txt","w");
	if(NULL==fp)
	{
		perror("fp");
		printf("文件不存在\n");
		return -1;
	}
	printf("文件存在\n");
	fprintf(fp,"zhangsan 12345\nlisi abcde\nwangwu abc123");
	if(fclose(fp)<0)
	{
		printf("fclose fall");
		return -1;
	}
	printf("fclose success\n");	
	char s[20]="";
	char q[20]="";
	char z[20]="";
	char m[20]="";
	fp=fopen("./usr.txt","r");
	printf("输入账户:");
	scanf("%s",s);
	while(fscanf(fp,"%s",z)!=EOF)
	{
		if(strcmp(s,z)==0)
		{
			fscanf(fp,"%s",m);
			printf("输入密码:");
			scanf("%s",q);
			if(strcmp(q,m)==0){
				printf("登录成功\n");
				if(fclose(fp)<0)
				{
					printf("fclose fall");
					return -1;
				}
				printf("fclose success\n");	
				return 0;
			}
			else
			{
				printf("密码错误\n");
				if(fclose(fp)<0)
				{
					printf("fclose fall");
					return -1;
				}
				printf("fclose success\n");	
				return -1;
			}
		}
        fscanf(fp,"%s",m);
	}
	printf("账户不存在\n");
	if(fclose(fp)<0)
	{
		printf("fclose fall");
		return -1;
	}
	printf("fclose success\n");	
	return 0;
}

7.25作业_第2张图片

7.25作业_第3张图片

你可能感兴趣的:(android-studio,io)