作业1:登录
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int local(FILE*fp)
{
if(NULL==fp){
perror("fopen");
return -1;
}
char str1[10];
char str2[10];
printf("请输入账号:");
scanf("%s",str1);
printf("请输入密码:");
scanf("%s",str2);
char a[10];
while(1){
fscanf(fp,"%s",a);
if(strcmp(str1,a)==0){
fscanf(fp,"%s",a);
if(strcmp(str2,a)==0){
printf("账号登录成功\n");
return 0;
}else if(strcmp(str2,a)!=0){
printf("密码输入错误\n");
return 0;
}
}
if(fscanf(fp,"%s",a)==EOF){
printf("账号不存在\n");
break;
}
}
return 0;
}
int main(int argc, const char *argv[])
{
FILE*fp =fopen("./user.txt","r");
local(fp);
fclose(fp);
return 0;
}
输出结果:
ubuntu@ubuntu:day1$ ./a.out
请输入账号:lisi
请输入密码:2222
账号登录成功
ubuntu@ubuntu:day1$ ./a.out
请输入账号:lisi
请输入密码:12
密码输入错误
ubuntu@ubuntu:day1$ ./a.out
请输入账号:lop
请输入密码:12
账号不存在
作业2:计算文件字符大小及行号
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int size_(FILE* fp)
{
if(NULL==fp){
perror("fopen");
return -1;
}
int count=0;
int c;
while(1){
c=fgetc(fp);
if(c==EOF)
break;
count++;
}
return count;
}
int line_t(FILE* fp)
{
if(NULL==fp){
perror("fopen");
return -1;
}
int count=1;
char c;
while(1){
c=fgetc(fp);
if(c==EOF)
break;
if(c=='\n')
count++;
}
return count;
}
int main(int argc, const char *argv[])
{
FILE* fp1=fopen(argv[1],"r");
FILE* fp2=fopen(argv[1],"r");
printf("该文件有%d个字节\n",size_(fp1));
printf("该文件有%d行\n",line_t(fp2));
fclose(fp1);
fclose(fp2);
return 0;
}
输出结果:
该文件有337个字节
该文件有24行
X-mind: