2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Как записать значение в конец и начало файла? си
Сообщение27.05.2018, 16:00 
Мне дан файл. В нем уже что-то записано. Мне нужно отдельные значение записать в начало и конец файла.
Используется синтаксис C
void file(FILE *f, int a, int b)
{
       fprintf(f, "%d" , a); //записываем в начало
       fseek(f, 0, SEEK_SET);
       fprintf(f,"%d", b);
}

Но при таком коде у меня записывается значение a в начале, но без сдвига. То есть на место другого элемента(а он пропадает). Значение b вообще почему-то на другую строку записывается

 
 
 
 Re: Как записать значение в конец и начало файла? си
Сообщение27.05.2018, 16:27 
Аватара пользователя
У меня для вас плохие новости.
Для того, чтобы записать что-то в файл со сдвигом всего, что в нём было, на размер записанного, вам потребуется перезаписать весь файл, начиная с места, в которое записываете, и до самого конца.

 
 
 
 Re: Как записать значение в конец и начало файла? си
Сообщение27.05.2018, 16:44 
зачитываете файл в строку, составляете новую строку, где зачитанное будет посередине строки, перезаписываете файл.

 
 
 [ Сообщений: 3 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group