我要控制文件指针的位置

问题描述 投票:0回答:1

我想找到重复的整数并将其位置替换为空白。这是我的作业。但是我没有解决这个问题。我的代码是

int main(){

    int control_integer;
    int temp_integer;
    int flag = 0;
    int location;
    char space = ' ';
    char control_end_of_file;

    FILE *fp,*tp;

    fp = fopen("file.txt","r+");

    while(!feof(fp))
    {

        fscanf(fp,"%d",&control_integer); 
        printf("control_integer: %d\n",control_integer );

        while(!feof(fp)){

            fscanf(fp,"%d",&temp_integer);
            printf("temp_integer = %d\n",temp_integer );

            if (temp_integer == control_integer)
            {
                flag = 1;
                printf("girdi integer: %d\n",temp_integer );
                fprintf(fp, "  %c ",space );
            }
        }
    }
    return 0;
}

我计划了以下功能。首先,我在文件中添加一个元素,然后转到新的循环并查看下一个元素。如果相等,我想用一个空格代替它。但是问题就在这里。 * fp,当执行读取操作时,下一个元素被传递,但是我想防止它并向该位置写入其他内容。因此,我想在同一位置进行写入和删除操作。我尝试了一些东西,但是做不到。

c file pointers memory-management
1个回答
0
投票

首先,我将文件中的元素作为元素,...

我认为在这种情况下int x; x = getc()就足够了。例如:

while((x = getc(fp)) != EOF){printf("do something");};
© www.soinside.com 2019 - 2024. All rights reserved.