我想找到重复的整数并将其位置替换为空白。这是我的作业。但是我没有解决这个问题。我的代码是
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
,当执行读取操作时,下一个元素被传递,但是我想防止它并向该位置写入其他内容。因此,我想在同一位置进行写入和删除操作。我尝试了一些东西,但是做不到。
首先,我将文件中的元素作为元素,...
我认为在这种情况下int x; x = getc()
就足够了。例如:
while((x = getc(fp)) != EOF){printf("do something");};