Форум программистов, компьютерный форум CyberForum.ru

Считать 16тиричные числа с файла и записать их в массив - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
MaXiDRoM_90
10 / 10 / 1
Регистрация: 21.03.2010
Сообщений: 47
21.03.2010, 20:00     Считать 16тиричные числа с файла и записать их в массив #1
ну и дополнительно вывести на экран,для проверки. С шестнадцатиричными числами не оперировал ещё ниразу :/ (вида 0x00,0x01,...0xFF - всего 256 штук) Как требует препод - надо их записывать в unsign int,путь к файлу вводить собственноручно
C++
1
2
3
char fname1[80];
cout << "Vvedite imya faila dlya 4neniya Key:\n";
cin >> fname1;
но впринципе не критично
Заранее благодарю

Добавлено через 30 минут
вот примерно написал,но выводит вместо 0x00 0x00 0x00 ... 0x00 и так 16 раз непонятные числа,правда одинаковые
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
 
int main(int argc,char *argv[])
{
    char fname[80];                     //  ЭТО ЕСЛИ САМОМУ ВВОДИТЬ ИМЯ ФАЙЛА
    cout << "Vvedite imya faila dlya 4neniya Key:\n";
    cin >> fname;
 
    FILE *pf;
    if ( !( pf=fopen( fname, "r")) )
    {
        cout <<"Error\n";
        exit(1);
    }
 
    unsigned int mas[16];
    for (int i=0; i<16; i++)
        {
            fscanf(pf,"%ui",&mas[i]);     //МОЖЕТ ЗАМЕНИТЬ %b - ??
        }
 
    for(int i=0;i<16;i++)
    {
        cout<<" "<< mas[i];
    }
    _getch(); 
    
}
Добавлено через 1 час 28 минут
Вощем понял,что проблема в том,что программа считывает или до первого пробела цифру,или до первого "x"
т.е. 1 0 1 0 1 1 1 1 0 ... так и выдаёт,а если ввести в файл 0x00 0x00 0x00 ... - то выдаёт 0 ... вместо многоточия непонятные числа
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2010, 20:00     Считать 16тиричные числа с файла и записать их в массив
Посмотрите здесь:

C++ Считать числа из файла и записать их в массив
Нужно записать массив в файл, а потом из этого файла считать этот же массив C++
Считать числа типа double из файла и записать их в массив C++
C++ Из одного файла считать целые числа, в другие файлы записать четные и нечетные числа
C++ Считать из файла и записать массив
Ввести в программу строку (числа, латиница), считать только числа, записать числа в массив C++
Считать определенный пункт структуры из файла и записать в массив C++
C++ Как считать данные с файла и записать в массив?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
21.03.2010, 20:21     Считать 16тиричные числа с файла и записать их в массив #2
Файл test.txt:
Код
0x00 0x01 0x02 0x03
Программа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include <algorithm>
 
int main()
{
    std::ifstream ifs("test.txt");
    std::vector<std::string> v;
    std::string temp;
    while(ifs >> temp)
        v.push_back(temp);
    std::copy(v.begin(), v.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
    system("pause");
    return EXIT_SUCCESS;
}
Добавлено через 2 минуты
А вот пример с массивом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <fstream>
 
int main()
{
    std::ifstream ifs("test.txt");
    std::string temp, arr[256];
    size_t arrsize=0;
    while(ifs >> temp)
        arr[arrsize++]=temp;
    for(size_t i=0; i<arrsize; ++i)
        std::cout << arr[i] << std::endl;
    system("pause");
    return EXIT_SUCCESS;
}
Yandex
Объявления
21.03.2010, 20:21     Считать 16тиричные числа с файла и записать их в массив
Ответ Создать тему
Опции темы

Текущее время: 00:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru