Я хочу найти повторяющиеся целые числа и заменить их позиции пустым пространством. Это моя домашняя работа. Но я не решил эту проблему. Мой код
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
, когда выполняется операция чтения, передается следующий элемент, но я хочу предотвратить это и записать что-то еще в это место. Поэтому я хочу сделать и запись и удаление в одном месте. Я что-то пробовал, но не смог.