fscanf与sprintf拷贝
int main(int argc, const char *argv[])
{
FILE *fp1=fopen("1.c","r");
FILE *fp2=fopen("3.c","w");
char c;
while(fscanf(fp1,"%c",&c)!=EOF){
fprintf(fp2,"%c",c);
}
return 0;
}
#include<myhead.h>
int login(const char*);
int regis(const char*);
int main(int argc, const char *argv[])
{
int chiose=0;
while(1){
puts("/t/t1.登入");
puts("/t/t2.注册");
puts("/t/t0.退出");
puts("请输入你的选择");
scanf("%d",&chiose);
getchar();
switch(chiose){
case 1:{
login(argv[1]);
break;
}
case 2:{
regis(argv[1]);
break;
}
case 0:{
exit(EXIT_SUCCESS);
}
}
}
return 0;
}
int login(const char *file){
FILE *fp=fopen(file,"r");
char name[10], pwd[10];
char username[10], userpwd[10];
puts("请输入你的账号");
fgets(name,sizeof(name),stdin);
puts("请输入你的密码");
fgets(pwd,sizeof(pwd),stdin);
name[strlen(name)-1]='\0';
pwd[strlen(pwd)-1]='\0';
if(!fp){
perror("login");
return -1;
}
while(fscanf(fp,"%s %s",username,userpwd)!=EOF){
printf("%s %s\n",name,pwd);
if(strcmp(username,name)==0&&strcmp(userpwd,pwd)==0){
return 0;
}
}
puts("失败");
fclose(fp);
}
int regis(const char *file){
char username[10];
char userpwd[10];
puts("请输入你的账号");
fgets(username,sizeof(username),stdin);
puts("请输入你的密码");
fgets(userpwd,sizeof(userpwd),stdin);
username[strlen(username)-1]='\0';
userpwd[strlen(userpwd)-1]='\0';
FILE *fp=fopen(file,"a");
if(!fp){
perror("regis");
return -1;
}
fprintf(fp,"%s %s ",username,userpwd);
puts("okkkkkkkl");
fclose(fp);
}
文件拷贝
#include<myhead.h>
int main(int argc, const char *argv[])
{
FILE *fp1=fopen("1.c","r");
if(NULL==fp1){
perror("fp1");
}
FILE *fp2=fopen("2.c","w");
if(NULL==fp2){
perror("fp2");
}
char buff[1024];
int res=0;
int count=0;
while(res=fread(buff,1,sizeof(buff),fp1)){
fwrite(buff,1,res,fp2);
}
fclose(fp1);
fclose(fp2);
puts("ok");
fp2=fopen("2.c","r");
while(1){
int res=fread(buff,1,sizeof(buff),fp2);
if(res==0) break;
printf("%s",buff);
}
return 0;
}
