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

getline() (не получается считать информацию с файла) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с файлами и предложениями http://www.cyberforum.ru/cpp-beginners/thread996332.html
Помогите выполнить задание по структурному програмированию. Написать программу, которая считывает текст из файла и выводит на экран только предложения, состоящие из заданного числа слов. Текст созданной программы: #include<fstream.h> #include<stdio.h> #include<conio.h> int main(){
C++ Проиллюстрируйте работу простейщего класса итератора Дан класс, представляющий собой векторную таблицу. Как будет выглядеть для него класс итератор. Если можно, покажите, как перебираются элементы с помощью этого класса. class Item{ public: int key; char *info; }; Item table; http://www.cyberforum.ru/cpp-beginners/thread996328.html
Чтение с файла (FILE) C++
Добрый день. Программа не до конца правильно работает. Не видит первую букву первого слова, если сделать в файле пробел, а только потом слово, то все нормально. Пример: В файле: Привет 34 Пока 134 Вывод на экран: ривет 34 Пока 134 Как это исправить? #include "stdafx.h"
C++ Структуры, двойной связанный лист
Метод setKopa() создаёт двойной лист и заполняет его нолями, метод fillKopa() должен заполнить созданный лист поданными значениями. Проблема такая - fillKopa() не заполняет лист. Объясните пожалуйста почему? и как это исправить? #include <cstdlib> #include <iostream> using namespace std; struct node {
C++ Программа с функцией, которая выводит таблицу квадратов http://www.cyberforum.ru/cpp-beginners/thread996303.html
Написать программу с функцией, которая выводит таблицу квадратов первых N целых положительных
C++ Как найти числа найти все числа,начинающихся с цифры выбранной пользователем, как это сделать? Visual C++ 6.0 подробнее

Показать сообщение отдельно
anmartex
...
 Аватар для anmartex
1699 / 1192 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
04.11.2013, 10:07     getline() (не получается считать информацию с файла)
Цитата Сообщение от VladislavTepes Посмотреть сообщение
anmartex, и как это обойти?
Ну если не брезгуете использовать C-ишные функции, то можно что-то на подобии:
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
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <fstream>
#include <vector>
#include <cstdlib>
 
struct SSite
{
    std::string name, tags;
    unsigned long rate;
};
int main()
{
    std::ifstream reader("sites.txt");
    std::string tag_string;
    std::string buff;
    unsigned short amount;
 
    if (!reader.good())
    {
        std::cout << "An error occured" << std::endl;
    }
    else
    {
        getline(reader, tag_string);
        getline(reader, buff);
        amount = atoi(buff.c_str());
        std::cout << amount << " sites\n" << "Find \"" << tag_string << "\" tag(s)" << std::endl;
        std::vector<SSite> sites(amount);
        for (int i = 0; i < amount && !reader.eof(); i++)
        {
            getline(reader, sites[i].name);
            std::cout << "Name: " << sites[i].name;
            getline(reader, buff);
            sites[i].rate = atoi(buff.c_str());
            std::cout << " Rate: " << sites[i].rate;
            getline(reader, sites[i].tags);
            std::cout << " Tags: " << sites[i].tags;
        }
    }
    reader.close();
 
    return 0;
}
Если же религия не позволяет, то ройте в сторону stringstream.
 
Текущее время: 20:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru