Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / ФАЙЛ->МАССИВ / 9 сообщений из 9, страница 1 из 1
16.01.2007, 15:06
    #34259023
СИСАША
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛ->МАССИВ
В файле записаны шестнадцатиричные числа вида " 0x00 ", по одному числу на строку.
Требуется прочитать числа и занести их в массив unsigned char . Кол-во чисел в файле фиксированное.

Читаю файл.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
FILE *File;
ListBox->Clear();
AnsiString FileName = ExtractFilePath(Application->ExeName) + "Code.txt";
char A[ 128 ];
    if (FileExists(FileName))
      File = fopen(FileName.c_str(), "r");
    else return;

    while (!feof(File))
    {
      fgets(A,  64 , File);
       ListBox->Items->Add(A);
    }
    fclose(File);

Далее сделаю ковертирование в unsigned char и "занесу" в массив, но у меня при чтении плюс ко всему читается символ перевода каретки. Имеет ли смысл обрезать прочитанную из файла строку(удалять символ перевода каретки) и потом после конвертации писать в массив. Может лучше читать как бинарный файл или как нить по другому. Подскажите вариант.
...
Рейтинг: 0 / 0
16.01.2007, 15:16
    #34259056
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛ->МАССИВ
Попробуй читать с помощью fscanf. Что-то то типа fscanf(f, "0x%02x", &value).

Или читать, как читал, а потом сканить. Смысл тот же.
...
Рейтинг: 0 / 0
16.01.2007, 16:11
    #34259245
SnowMan2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛ->МАССИВ
Код: plaintext
1.
2.
fgets(A,  64 , File);
A[strlen(A)- 1 )= 0 ;
ListBox->Items->Add(A);
...
Рейтинг: 0 / 0
16.01.2007, 16:17
    #34259270
СИСАША
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛ->МАССИВ
SnowMan2
Код: plaintext
1.
2.
fgets(A,  64 , File);
A[strlen(A)- 1 )= 0 ;
ListBox->Items->Add(A);


Не, ну это понятно, я просто думал, есть ли способ сразу читать и загонять данные в массив, т.е. способ рациональнее чем мой?
...
Рейтинг: 0 / 0
16.01.2007, 16:24
    #34259304
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛ->МАССИВ
СИСАША SnowMan2
Код: plaintext
1.
2.
fgets(A,  64 , File);
A[strlen(A)- 1 )= 0 ;
ListBox->Items->Add(A);


Не, ну это понятно, я просто думал, есть ли способ сразу читать и загонять данные в массив, т.е. способ рациональнее чем мой?

Сообщение мое видел или нет?
...
Рейтинг: 0 / 0
16.01.2007, 17:06
    #34259469
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛ->МАССИВ
А что, соответствующий дельфовый класс для чтения файла не спосёт?
...
Рейтинг: 0 / 0
16.01.2007, 17:09
    #34259489
СИСАША
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛ->МАССИВ
maXmoА что, соответствующий дельфовый класс для чтения файла не спосёт?

По окончанию проекта программа будет переписана на Java. Поэтому требуются функции стандарта С
...
Рейтинг: 0 / 0
16.01.2007, 17:16
    #34259514
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛ->МАССИВ
Разве жава и стандарт си как-то связаны?
...
Рейтинг: 0 / 0
16.01.2007, 17:21
    #34259530
СИСАША
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ФАЙЛ->МАССИВ
maXmoРазве жава и стандарт си как-то связаны?
Легче будет переделывать.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / ФАЙЛ->МАССИВ / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]