0 / 0 / 0
Регистрация: 09.06.2014
Сообщений: 8
1

Считывание из файла массива строк

22.06.2014, 19:32. Показов 1085. Ответов 5
Метки нет (Все метки)

Ув. товарищи! Помогите плз. Нужно реализовать функцию, заполняющую из файла массив строк.
Что то типа такого:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
bool DimArrayInput(char ** ar, int size)
{
    FILE * file;
 
    file = fopen("Spisok.txt", "rt");
 
    for (int i = 0; i < size && !feof(file); ++i)
        fgets(ar[i], 100, file);
    
    fclose(file);
 
    return true;
}
Содержимое файла:

Vasin
Alexandrov
Rybalkin
Stepanov
Yemelyanov
Pruskin
Yatseneuck
Poroshenko

Помогите идеями или замечаниями, а лучше готовым кодом))
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.06.2014, 19:32
Ответы с готовыми решениями:

Считывание строк из файла
Помогите, пожалуйста, нужно на завтра две прграммы написать, но не получается(( 1) считать из...

Считывание строк из файла
Здравствуйте, подскажите, пожалуйста, как организовать чтение строк из файла при помощи...

Считывание строк из файла
Во общем есть текстовый файл, из которого надо взять строку и просто ее напечатать #define...

Считывание строк из файла
При считывании из файла читаются всего 3 строки. void rab::xinputfile() // vvod iz...

5
What a waste!
1607 / 1299 / 180
Регистрация: 21.04.2012
Сообщений: 2,727
22.06.2014, 19:50 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 <fstream>
#include <vector>
#include <string>
 
// ...
 
std::vector<std::string> read_input(std::istream & istream) {
   std::vector<std::string> input;
    
   for (std::string line; std::getline(istream, line); ) {
      input.push_back(line);
   }    
   
   return input;
}
 
// ...
 
std::ifstream ifs("Spisok.txt");
std::vector<std::string> input = read_input(ifs);
 
// ...
0
0 / 0 / 0
Регистрация: 09.06.2014
Сообщений: 8
22.06.2014, 21:01  [ТС] 3
Что-нибудь более низкоуровневое.
0
my_small_name
22.06.2014, 21:23 4
Urals1996, в каком плане низкоуровневое?
Землянин
34 / 34 / 16
Регистрация: 15.01.2013
Сообщений: 312
22.06.2014, 22:14 5
Лучший ответ Сообщение было отмечено Urals1996 как решение

Решение

Urals1996,
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
#include <iostream>
#include <fstream>
 
using namespace std;
void readFile(string * str, int n);
 
int main()
{
    string * str;
    int n;
    
    cin >> n;
    
    str = new string[n];
    readFile(str, n);
 
    for (int i = 0; i < n; i++)
        cout << str[i] << '\n';
}
 
void readFile(string * str, int n)
{
    ifstream input("in.txt");
 
    for (int i = 0; i < n; i++)
        input >> str[i];
 
    input.close();
}
1
0 / 0 / 0
Регистрация: 09.06.2014
Сообщений: 8
22.06.2014, 22:40  [ТС] 6
Pjeroo, красавчик,спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.06.2014, 22:40
Помогаю со студенческими работами здесь

Считывание строк из файла и сортировка , C++
Дело в том , что при считывании из файла последнюю строку считывает 2 раза. Прочитал в интернете...

Считывание из файла в массив строк
Например в файле: jfgjfjgfjkjdf32vsdf1 342rdfrg 3524t6yrfdh3 er2etg И тд Надо чтобы...

Считывание строк из текстового файла
Доброго времени суток! Дана задача: Подготовить файл со списком из 20 сотрудников (в каждой...

Считывание из файла строк с getline()
Код из интернета, который работает у автора, но не у меня. Ошибка: Call to undefined function...

Считывание строк с файла
с помощью QTextStream и функции readline() пытаюсь считывать строки, но оно считывает лиш до...

Выполнить считывание и заполнение массива строк из заданного текстового файла
Реализовать работу с массивом строк: a. Выполнить считывание и заполнение массива строк из...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru