Я хочу получить 2 переменные строки фиксированной длины (10chars и 32chars) из файла и сохранить их как переменные для передачи позже в моей программе и записать их в новый файл. Я могу записать данные в новый файл с пользовательского ввода, но я не могу понять, как найти данные и сохранить их для использования, чтобы пользователю не приходилось вручную вводить 42 символа и ошибку. Строки будут различаться по содержанию и могут отличаться положением в файле, но всегда будут появляться после постоянной строки «Серийный номер =», например. Что делать, если есть известное место смещения, где начинаются жало, может ли это сделать проще? Я думал о fget или fread ... Но я не могу получить рабочий пример.C Получить строку из файла
#include <stdio.h>
#include <string.h>
int main(void)
{
FILE *f;
FILE * pFile;
char sn[11];
char uuid[33];
if (f = fopen("test.txt", "rt"))
{
fseek (f,443,SEEK_SET); //file offset location to begin read
fread(uuid, 1, 32, f); //Read the data of 32 chars
uuid[32] = 0;
fseek (f,501,SEEK_SET); //file offset location to begin read
fread(sn, 1, 10, f); //Read the data of 10 chars
sn[10] = 0;
fclose(f); //Close our file
printf("The 32 character UUID:\n%s\n", uuid); //Show read/extracted Data
printf("The 10 character SN:\n%s\n", sn); //Show read/extracted Data
pFile = fopen ("testfile.exe","r+b"); //Open binary file to inject data
fseek (pFile,24523,SEEK_SET); //1st file offset location to begin write
fputs (sn,pFile); //Write our data!
fseek (pFile,24582,SEEK_SET); //2nd file offset location to begin write
fputs (uuid,pFile); //Write our data!
fseek (pFile,24889,SEEK_SET); //3rd file offset location to begin write
fputs (uuid,pFile); //Write our data!
fclose(pFile); //Close our file
printf ("Finished\n");
}
return(0);
}
я работал и читать на нем все выходные, теперь я получаю желаемые результаты, чтение данных из одного файла и нагнетания в другой. Хотя это работает, это может быть не лучший метод. Я заранее извиняюсь за сообщение с неправильным тегом, которое я отправил с мобильного телефона и не имел доступа к моему источнику. Спасибо за все входные данные. Я приветствую больше. Я пытался документировать, как я понял, что делаю.
Покажите нам, что у вас есть. –
Я добавил свое решение – jhayton