Здесь у меня есть одно имя файла, и я хочу сначала создать этот файл.
Я хочу оставить несколько байтов в файле, а затем я хочу записать данные.
поэтому здесь в коде ниже я использовал fseek(pFile, 10, SEEK_SET)
.
чем я пишу здесь "sam"
в файле с 11-й позиции.
и затем закройте файл и снова откройте 4 раза этот файл в режиме добавления и напишите «abc"
в конце файла.
итого, байты в example.txt
составляют 25
байтов.
поэтому данные файла выглядят так: ..........samabcabcabcabc
.
Но я не хотел "Сэм" в этом файле данных. Значит хочу всего 22 байта.
Если я здесь не использую fputs("sam", pFile);
, тогда он дает только 12 байтов, а данные файла выглядят как abcabcabcabc
.
Я хочу вывод в файл типа ..........abcabcabcabc
.
В реальной программе у меня есть одна функция, которая добавляет данные после 10 байтов. и эта функция вызывается несколько раз, так как я могу достичь этой цели?
Мой пример кода здесь.
#include <stdio.h>
int main() {
FILE * pFile;
pFile = fopen("example.txt", "wb");
fseek(pFile, 10, SEEK_SET);
fputs("sam", pFile);
fclose(pFile);
append("example.txt");
append("example.txt");
append("example.txt");
append("example.txt");
return 0;
}
void append(char *file) {
FILE * pFile;
pFile = fopen("example.txt", "ab");
fputs("abc", pFile);
fclose(pFile);
}