fgets获取文件的行号。
#include <myhead.h>
int main(int argc, const char *argv[])
{
FILE *fp1=fopen("./1.txt","r");
if(NULL==fp1)
{
perror("fp1");
return -1;
}
char arr[99];
int count = 0;
char *p=NULL;
while(1)
{
p=fgets(arr,sizeof(arr)-1,fp1);
if(p==NULL)
{
break;
}
if(arr[strlen(arr)-1]=='\n')
{
count++;
}
}
printf("%d\n",count);
fclose(fp1);
return 0;
}
fgets和fputs拷贝文件
#include <myhead.h>
int main(int argc, const char *argv[])
{
FILE *fp1=fopen("./1.txt","r");//打开文件1.txt
if(NULL==fp1)
{
perror("fp1");
return -1;
}
FILE *fp2=fopen("./2.txt","w");//创建打开文件2.txt并清空
if(NULL==fp2)
{
perror("fp2");
return -1;
}
char arr[99];//用来存储读取出来的字符串
char *p;//接收fgets的返回值
while(1)//循环
{
p=fgets(arr,sizeof(arr)-1,fp1);//读取
fputs(arr,fp2);//拷贝
if(NULL==p)//文件末尾处结束循环
{
break;
}
}
fclose(fp1);
fclose(fp2);
return 0;
}