Как читать / записывать массив C, хранящийся в текстовом файле, созданном с помощью утилиты bin2C
Я создаю приложение, входом которого является файл C, имеющий массив (который создается с помощью bin2C.exe), сегмент кода файла C:
unsigned int MyArray[] = { 0x00000001,0x00000002,0x00000005 ...};
теперь мне нужно прочитать этот массив как текстовый файл и записать его значение в массиве int. Затем мне нужно изменить этот массив и поместить его обратно в текстовый файл, чтобы конечный результат выглядел так:
unsigned int MyArray[] = { 0x39481212,0x33943121,0x3941212 ...};
Пожалуйста, дайте мне знать, как я могу сделать это в C/VisualC++, так как мое приложение находится в VC++ с MFC?
С уважением, Викас
2 ответа
Я думаю, что лучшим способом было прочитать и использовать функции fprintf/sprintf, чтобы получить и поместить данные как int из файла.
вход
открыть файл (fopen
) в текстовом режиме и читать строки (fgets
а также sscanf
)
хранить массив
Вы не можете иметь массив с неопределенным размером. Вы должны либо использовать ограничение размера и оставить некоторые элементы неиспользованными, либо использовать malloc
и друзья и управлять хранилищем для массива вручную
модифицировать
использование +
, -
, *
и другие операторы вместе с sqrt
, abs
, sin
и другие функции, доступные в стандартной библиотеке для обработки данных (вы также можете создавать свои собственные функции)
положил его обратно
Лучше записать в новый файл и, если все прошло нормально, удалить старый файл и переименовать новый... так что откройте новый файл (fopen
с "w" для параметра режима) в начале при открытии входа; если вход не является строкой массива записи (fputs
) верните его напрямую, в противном случае напишите "массируемую" строку; читать и писать все остальные строки.
(C++?) С MFC
Выше для C
, Это может работать для C++
с или без MFC
С уважением
Повеселись!