【嵌入式学习】IO网络接口day02.18

1.使用fgets统计给定文件的行数

#include 
#include 
#include 
int main(int argc, const char *argv[])
{
	FILE *fp=NULL;
	if((fp=fopen("./test1.txt","r"))==NULL)
	{
		perror("错误信息");
		return -1;
	}
	int count=0;
	char str[100];
	while(fgets(str,sizeof(str),fp)!=NULL);
	{
		for(int i=0;i

【嵌入式学习】IO网络接口day02.18_第1张图片

2> 使用fputs和fgets完成两个文件的拷贝

#include 
#include 
#include 
int main(int argc, const char *argv[])
{
	FILE *fp1=NULL;
	FILE *fp2=NULL;
	if((fp1=fopen("./test.txt","w"))==NULL)
	{
		perror("error");
		return -1;
	}
	if((fp2=fopen("./test1.txt","r"))==NULL)
	{
		perror("error");
		return -1;	
	}
	char str[5]="";
	while(fgets(str,sizeof(str),fp2)!=NULL)
	 {
		 	fputs(str,fp1);
	 }
	fclose(fp1);
	fclose(fp2);
	return 0;
}

【嵌入式学习】IO网络接口day02.18_第2张图片

3> 完成注册登录功能

做个小菜单,功能1是注册功能,输入注册账户和注册密码,将账户和密码写入文件中

功能2是登录功能,提示并输入登录账户和登录密码,并用其遍历文件中的每一组账户和密码,如果匹配成功,则登录成功,如果全部不匹配则提示登录失败

#include 
#include 
#include 
int main(int argc, const char *argv[])
{
		FILE *fp1=NULL;
		FILE *fp2=NULL;
		char zh[100]="";
		char ma[100]="";
		while(1)
		{
		printf("\t\t******************登录系统****************\n");
		printf("\t\t*******************1.注册****************\n");
		printf("\t\t*******************2.登录****************\n");
		printf("\t\t*******************3.退出****************\n");
		int num;
		printf("输入选项:");
		scanf("%d",&num);
		switch (num)
		{
		case 1:{
		if((fp1=fopen("./zhanghao.txt","a+"))==NULL)
		{
			perror("错误信息");
			return -1;
		}
		if((fp2=fopen("./mima.txt","a+"))==NULL)
		{
			perror("错误信息");
			return -1;
		}
			   printf("请输入账号:");
			   scanf("%s",zh);
			   fprintf(fp1,"%s\n",zh);
			   printf("请输入密码:"); 
			   scanf("%s",ma);
			   fprintf(fp2,"%s\n",ma);
			   fclose(fp1);
			   fclose(fp2);
			   break;
		   }
		case 2:{
				if((fp1=fopen("./zhanghao.txt","r"))==NULL)
				{
					perror("错误信息");
					return -1;
				}
			   char zhku[100]="";
			   printf("请输入账号:");
			   scanf("%s",zhku);
			   while(fgets(zh,sizeof(zhku),fp1)!=NULL)
			   {
				   zh[strlen(zh)-1]='\0';
			   if(strcmp(zh,zhku)!=0)
			   {
				   printf("账号输入错误\n");
				   break;
			   }
			   if(strcmp(zh,zhku)==0)
			   {
				   break;
			   }
			   }
			   {
					if((fp2=fopen("./mima.txt","r"))==NULL)
					{
						perror("错误信息");
						return -1;
					}
				   char maku[100]="";
				   printf("请输入密码:");
				   scanf("%s",maku);
			   		while(fgets(ma,sizeof(maku),fp2)!=NULL)
					{ 
				   		ma[strlen(ma)-1]='\0';
			   		if(strcmp(ma,maku)!=0)
				   {
					   printf("密码错误\n");
						continue;
				   }
				   else
				   {
					   printf("登陆成功\n");
					   fclose(fp1);
					   fclose(fp2);
					   break;
				   }
				   }
				   break;
			   }
		   }
		case 3:goto END;
		default:printf("输入选项错误\n");
		}
	printf("输入任意键按回车结束!\n");
	while(getchar()!='\n');
	}
	END:
	return 0;
}

你可能感兴趣的:(学习)