Как читать / записывать массив C, хранящийся в текстовом файле, созданном с помощью утилиты bin2C - PullRequest
0 голосов
/ 07 октября 2010

Я создаю приложение, входом которого является файл C, имеющий массив (который создается с помощью bin2C.exe), сегмент кода файла C: -

unsigned int MyArray[] = { 0x00000001,0x00000002,0x00000005 ...};

Теперь янужно прочитать этот массив как текстовый файл и записать его значение в массиве int.Затем мне нужно изменить этот массив и поместить его обратно в текстовый файл, чтобы конечный результат выглядел следующим образом: -

unsigned int MyArray[] = { 0x39481212,0x33943121,0x3941212 ...};

Пожалуйста, дайте мне знать, как я могу сделать это в C / VisualC ++, поскольку мое приложениев VC ++ с MFC?

С уважением, Викас

Ответы [ 2 ]

0 голосов
/ 07 декабря 2010

Я думаю, что лучшим способом было прочитать и использовать функции fprintf / sprintf, чтобы получить и поместить данные как int из файла.

0 голосов
/ 07 октября 2010

input

открыть файл (fopen) в текстовом режиме и прочитать строки (fgets и sscanf)

storeмассив

вы не можете иметь массив с неопределенным размером.Вы должны либо использовать ограничение размера и оставить некоторые элементы неиспользованными, либо использовать malloc и друзей и управлять хранилищем для массива вручную

изменить

использовать +, -, * и другие операторы вместе с sqrt, abs, sin и другими функциями, доступными в стандартной библиотеке для обработки данных (вы также можете создавать свои собственные функции)

положить его обратно

Лучше записать в новый файл и, если все прошло нормально, удалить старый файл и переименовать новый ... так что откройте новый файл (fopen с «w» для параметра режима) в начале при открытии входа;если вход не является строкой массива, запишите (fputs) его обратно напрямую, в противном случае запишите «массируемую» строку;читать и писать все остальные строки.

(C ++?) с помощью MFC

Выше приведено для C.Это может работать для C++ с или без MFC

С уважением

Веселитесь!

...