#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
//定义文件指针,以只读方式打开传入的文件
FILE *fp=NULL;
if((fp=fopen("./text.txt","r"))==NULL)
{
perror("fopen error");
return -1;
}
int counter=0;
char buf[6];
while(1)
{
char *ptr=fgets(buf,sizeof(buf),fp);//读取文件中的字符
if(ptr==NULL)
{
break;
}
//判断读取的字符是否为'\n'
if(*ptr=='\n')
counter++;
}
printf("一共有%d行\n",counter);
//关闭文件
fclose(fp);
return 0;
}
#include<stdio.h>
int main(int argc, const char *argv[])
{
if(argc!=3)
{
printf("input error\n");
return -1;
}
//定义文件源文件指针,以只读的方式打开
FILE *srcfp=NULL;
if((srcfp=fopen(argv[1],"r"))==NULL)
{
perror("fopen error");
return -1;
}
//定义目标文件指针,以只写的方式打开
FILE *destfp=NULL;
if((destfp=fopen(argv[2],"w"))==NULL)
{
perror("fopen error");
return -1;
}
char buf[5];
while(1)
{
char *ptr=fgets(buf,sizeof(buf),srcfp);
if(ptr==NULL)
break;
fputs(buf,destfp);
}
printf("拷贝成功\n");
//关闭文件
fclose(srcfp);
fclose(destfp);
return 0;
}
#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
int menu = 0;
while(1)
{
system("clear"); //执行终端指令
printf("\t\t======XXX登录界面============\n");
printf("\t\t======1、注册============\n");
printf("\t\t======2、登录============\n");
printf("\t\t======0、退出============\n");
printf("请输入选项:");
scanf("%d", &menu);
getchar();
//对菜单多分支选择
switch(menu)
{
char name[128];
char passwd[128];
case 1:
{
//注册功能
FILE *fp=NULL;
if((fp=fopen("./zhuce.txt","w"))==NULL)
{
perror("fopen error");
return -1;
}
printf("please enter name:");
fscanf(stdin,"%s",name);
printf("please enter passwd:");
fscanf(stdin,"%s",passwd);
fputs(name,fp);
fputs(passwd,fp);
fclose(fp);
}
break;
case 2:
{
//登录功能
char tname[128];
char tpasswd[128];
printf("please enter name:");
fscanf(stdin,"%s",tname);
printf("please enter password:");
fscanf(stdin,"%s",tpasswd);
if(strcmp(tname,name)==0 && strcmp(passwd,tpasswd)==0)
{
printf("登录成功\n");
return -1;
}
else
{
printf("登录失败\n");
return -1;
}
}
break;
case 0:goto END;
default:printf("您输入的功能有误,请重新输入\n");
}
//提示输入任意键按回车结束
printf("请输入任意键按回车结束!!!\n");
while(getchar() != '\n');
}
END:
return 0;
}