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;
}