文件拷贝,例如将1.txt的内容拷贝到2.txt中
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[]
{
FILE *p=fopen("./2.ext","r+");
if(NULL==p)
{
perror("fopen");
return-1;
}
printf("创建成功\n");
int b[10];
for(int i=0;i<4;i++)
{
fscanf(p,"%d",&b[i]);
printf("b[i]=%d\t",b[i]);
}
if(fclose(p)==-1)
{
perror("fopen");
return -1;
}
printf("关闭成功\n");
FILE *q=fopen("./1.ext","a+");//打开
if(NULL==p)
{
perror("fopen");//报错
return -1;
}
for(int i=0;i<4;i++)
{
fprintf(q,"%d\t",b[i]);
}
if(fclose(p)==-1)
{
perror("fopen");
return -1;
}
printf("关闭成功\n");
return 0;
}
要求用fgetc计算一个文件有多少个字节
#include <stdlib.h>//计算字节数
int main(int argc, const char *argv[])
{
int count=0;
FILE *p=fopen("./2.ext","r");
if(p==NULL)
{
perror("fopen");
}
printf("创建成功");
while(1)
{
char c=fgetc(p);
if(c!=EOF)
{
count++;
}
else
{
break;
}
}
printf("字节数=%d\n",count);
if(fclose(p)==-1)//关闭
{
perror("fclose");//报错
return -1;
}
else
{
printf("成功");
return 0;
}
return 0;
}
用fgetc计算一个文件有几行?
#include <stdio.h>
#include <string.h>
#include <stdlib.h>//判断有行
int main(int argc, const char *argv[])
{
FILE *p=fopen("./2.ext","r");
if(p==NULL)
{
perror("fopen");
return -1;
}
printf("成功创建\n");
int count=0;
while(1)
{
char e=fgetc(p);
if(e=='\n')
{
count++;
}
else if(e==EOF)
{
break;
}
}
printf("行数为=%d\n",count);
return 0;
实现登录功能。自定义一个usr.txt,手动输入账户密码,格式如下:账户 密码
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
FILE *p=fopen("usr.txt","a+");
if(p==NULL)
{
perror("fopen");
return -1;
}
printf("创建成功\n");
char zhanghao[10]="";
char mima[10]="";
printf("输入账号");
char b[10],c[10];
scanf("%s",b);
printf("输入密码");
scanf("%s",c);
fscanf(p,"%s",zhanghao);
fscanf(p,"%s",mima);
int i=0,j=0;
while(b[i]==zhanghao[i]&&b[i]!='\0'&&zhanghao[i]!='\0')
{
i++;
}
while(mima[j]==c[j]&&c[j]!='\0'&&mima[j]!='\0')
{
j++;
}
if(i==strlen(zhanghao))
{
printf("账户正确\n");
if(j==strlen(mima))
{
printf("密码正确");
return 0;
}
else
{
printf("密码不正确");
return 0;
}
}
else
{
printf("账号不存在");
}
return 0;
}
结果: