[英]deleting line without temporary file in C
我正在嘗試通過將下一行替換為給定的行來刪除給定的行,但它不會改變任何內容
int i=0,n,j,p;
char s[80];
FILE *fp;
scanf("%d",&n);
fp = fopen("test.txt","r+");
while(fgets(s,sizeof(s),fp)!=NULL){
i++;
if(i==n)
break;
j = ftell(fp);
}
while(fgets(s,60,fp)!=NULL){
p = ftell(fp);
fseek(fp,0,j);
fprintf(fp,"%s",s);
j = p;
fseek(fp,0,SEEK_CUR);
}
fclose(fp);
您在fseek(fp, 0, j);
有錯誤的論點fseek(fp, 0, j);
。 第三個參數必須是SEEK_xxx
常數之一,因此它應該是fseek(fp, j, SEEK_SET);
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.