gpt4 book ai didi

c - 文件处理问题(初级)?

转载 作者:太空宇宙 更新时间:2023-11-04 03:12:56 25 4
gpt4 key购买 nike

目标是用一个接一个重复 n 次或更多次(n 是从键盘输入的整数)的字符填充文件 output.txt

#include <stdio.h>
#include <stdlib.h>

int main() {
int c=0,d=0;
int n;
scanf("%d",&n);
FILE* ulaz=fopen("input.txt","r");
if(ulaz==NULL) {
printf("TRY AGAIN");
return 1;
}
FILE* izlaz=fopen("output.txt","w");
if(izlaz==NULL) {
fclose(ulaz);
printf("TRY AGAIN");
return 2;
}
long pos;
int br=1;
do {
c=fgetc(ulaz);
if(c!=EOF) {
do {
long pos=ftell(ulaz);
d=fgetc(ulaz);
if(c==d) {
br++;
}
} while(d==c && d!=EOF);
int i=0;
if(br>=n) {
for(i=0;i<n;i++) {
fputc(c,izlaz);
}
}
fseek(ulaz,pos,SEEK_SET);
//is this line a problem
br=1; }
} while(c!=EOF);
fclose(ulaz);
fclose(izlaz);
}

最佳答案

这是因为你写的是 long pos=ftell(ulaz); 而不是 pos=ftell(ulaz);。在 do 的 block 中,您定义了一个新变量 long pos= ...,您覆盖了外部 pos 变量稍后用于将位置重置为您存储的值。

也许还有其他问题,但这是与您的“//这条线有问题吗”相关的最明显问题。

关于c - 文件处理问题(初级)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54611527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com