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

Чтение из файла в строку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ My_int http://www.cyberforum.ru/cpp-beginners/thread82624.html
Реализовать класс My_int для работы с целыми числами, который ведет себя в точности как int,за исключением того, что единственные допустимые операции - это плюс (унарный и бинарный), минус (унарный и бинарный), умножить, разделить и % - целочисленное деление. Перегрузить операции ввода-вывода в поток. В функции main привести примеры реализации класса My_int. Напишите код пожалуйста.Заранее...
C++ Найти в строке наименьшее слово дано string a("masha ila kashu"); найти в строке наименьшее слово http://www.cyberforum.ru/cpp-beginners/thread82621.html
C++ Найти в одномерном массиве сумму элементов массива, расположенных до последнего положительного
1) найти в одномерном массиве сумму элем. массива,расположенных до последнего положительного 2)в матрице А действ. чисел подсчитать сумму отрицательных элементов. полученным значением заменить элементы главной диагонали матрицы. вывести матрицу
C++ Строки в С!
Всем доброе время суток! Очень нужна ваша помощь! Необходимо написать функцию обработки строк: Overlay(s1 , s2 , n) - перекрытие строки s1 строкой s2 начиная с позиции n. Вообщем пробовал по простому: объявил два массива типа char по 100 символов. Находил в первой строке символ n и начиная с него переписывал в эту же строку символы со второй строки. В завершение вставлял символ '\0'. Не...
C++ Получить упорядоченную по возрастанию последовательность http://www.cyberforum.ru/cpp-beginners/thread82575.html
Дана целочисленная последовательность {ai}n1. Получить упорядоченную по возрастанию последовательность из чисел, которые входят в данную последовательность по одному разу. решить с помощью модифицированный метод простого выбора.
C++ Поменять местами строку матрицы с наименьшей суммой элементов со строкой с наибольшей суммой элементов Помогите плиз решить несколько задас на преобразование матриц на С++ 1.В действительной матрице поменять местами строку с наименьшей суммой элементов со строкой с наибольшей суммой элементов. Размер матрицы и ее элементы вводятся с клавиатуры. 2.В действительной матрице поменять местами строку с наименьшей суммой элементов со столбцом с наибольшей суммой элементов. Размер матрицы и ее... подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.02.2013, 02:46     Чтение из файла в строку
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
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main() 
{
    ifstream in("1.txt");
    
    char ch;
    string str;
    
    while (true)
    {
        in.get(ch);
        if (in.eof()) break;
        str.append(1, ch);
    }
    
    cout << str;
    
    system("pause"); 
    return 0;
}
Добавлено через 11 минут
Цитата Сообщение от Aliru777 Посмотреть сообщение
Подскажите пожалуйста почему после цикла строке с1 пустая при выводе?
из файла все выводится в строку,но потом она пустая.не пойму.
getline() так работает. После считывания (до '\n') и вывода последней строки, getline(), в последней итерации цикла, считывает конец файла. В строку s1 помещается '\0' и устанавливается failbit. Потом происходит проверка условия while() и выход из цикла. Поэтому после выхода из цикла s1 пустая.

Добавлено через 11 минут
Цитата Сообщение от jon_illien Посмотреть сообщение
C++
1
    getline ( inf, sf, '\0' );
не могли бы вы пояснить, принцип работы?
в моей книге: getline(stuff, ' : ') ; // чтение до символа ' : ' , ' : ' отбрасывается
Пояснить это?
C++
1
getline ( inf, sf, '\0' );
istream& getline( istream &is, string str, char delimiter = '\n');
getline() берет из входного потока все символы, включая пробелы, и помещает их в объект типа string, до тех пор пока не встретится символ delimiter, не будет достигнут конец файла или количество полученных символов не станет равным величине, возвращаемой функцией-членом max_size() класса string.
 
Текущее время: 11:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru