fgetc和fputc拷贝文件
#include <myhead.h>
int main(int argc, const char *argv[])
{
if(argc!=3)
{
printf("外部参数错误\n");
return -1;
}
FILE *fp1 = fopen("./1.txt","r");
if(NULL==fp1)
{
perror("fp1");
return -1;
}
FILE *fp2 = fopen("./2.txt","w");
if(NULL==fp2)
{
perror("fp2");
return -1;
}
while(1)
{
char buff = fgetc(fp1);
if(buff==EOF)
{
break;
}
fputc(buff,fp2);
}
fclose(fp1);
fclose(fp2);
printf("拷贝成功\n");
fp2 = fopen("./2.txt","r");
if(NULL==fp2)
{
perror("fp2");
return -1;
}
while(1)
{
char rev = fgetc(fp2);
if(rev==EOF)
{
break;
}
fputc(rev,stdout);
}
fclose(fp2);
return 0;
}
fgets获取文件的行号
#include <stdio.h>
int main(int argc, const char *argv[]) {
FILE *fp = fopen("./1.txt", "r");
if (fp == NULL) {
perror("fp");
return -1;
}
char buff[100];
int count = 0;
while (fgets(buff, sizeof(buff), fp) != NULL) {
int a=strlen(buff);
if(buff[a-1]=='\n'){
count++;
}
}
printf("%d\n", count);
return 0;
}
fgets和fputs拷贝文件
#include <stdio.h>
int main(int argc, const char *argv[]) {
FILE *fp1 = fopen("./1.txt", "r");
if (fp1 == NULL) {
perror("fp1");
return -1;
}
FILE *fp2 = fopen("./2.txt", "w");
if (fp2 == NULL) {
perror("fp2");
fclose(fp1);
return -1;
}
char buff[100];
while (fgets(buff, sizeof(buff), fp1) != NULL) {
fputs(buff, fp2);
}
fclose(fp1);
fclose(fp2);
FILE *fp = fopen("./2.txt", "r");
while (fgets(buff, sizeof(buff), fp) != NULL) {
fputs(buff, stdout);
}
fclose(fp);
return 0;
}