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

Заполнение массива словами из файла - C++

Восстановить пароль Регистрация
 
sanchoflat
4 / 6 / 1
Регистрация: 05.11.2011
Сообщений: 97
30.09.2012, 15:37     Заполнение массива словами из файла #1
Такой вопрос, как заполнить одномерный массив из файла словами.
К примеру такой файл

qwer
ytry
wrt
dsgf

и чтобы в каждой ячейке находилось 1 "слово"?
спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
30.09.2012, 16:11     Заполнение массива словами из файла #2
с одномерным надо память в куче выделять или использовать контейнер
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <fstream>
#include <iomanip>
 
int main()
{
    std::ifstream ifs("in.txt");
    if(ifs.is_open())
    {
        size_t const r = 50, c = 4;
        char arr[r][c]; // r слов по с символов
        size_t size;
        for(size = 0; size < r && ifs >> std::setw(c) >> arr[size]; ++size)
        {
            std::cout << arr[size] << std::endl;
        }
        std::cout << "\narr size is " << size << std::endl;
        ifs.close();
    }
    else std::cerr << "Unable to open input file" << std::endl;
    return 0;
}
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
30.09.2012, 16:26     Заполнение массива словами из файла #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
#include <iterator>
 
int main()
{
    std::ifstream ifs("E:\\1.txt");
    std::vector<std::string> vec(
        (std::istream_iterator<std::string>(ifs)),
        (std::istream_iterator<std::string>()));
    ifs.close();
}
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
30.09.2012, 16:38     Заполнение массива словами из файла #4
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
#include <iostream>
#include <fstream>
#include <iomanip>
 
int main()
{
    std::ifstream ifs("in.txt");
    if(ifs.is_open())
    {
        size_t const r = 50, c = 15;
        char* arr[r] = {0};
        size_t size;
        for(size = 0; size < r && (arr[size] = new char[c]) && ifs >> std::setw(c) >> arr[size]; ++size)
        {
            std::cout << arr[size] << std::endl;
        }
        std::cout << "\narr size is " << size << std::endl;
        ifs.close();
        for(size_t i = 0; i < size; ++i)
        {
            delete[] arr[i];
        }
    }
    else std::cerr << "Unable to open input file" << std::endl;
    return 0;
}
Yandex
Объявления
30.09.2012, 16:38     Заполнение массива словами из файла
Ответ Создать тему
Опции темы

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