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

Не считываются пробелы из файла - C++

Восстановить пароль Регистрация
 
Wladius
12 / 7 / 2
Регистрация: 06.01.2013
Сообщений: 127
15.04.2013, 18:07     Не считываются пробелы из файла #1
Допустим пытаюсь считать из файла "ghf fk ff 123 1", а выводится/считывается "ghffkff1231"
В чем может быть проблема?

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
#include <iostream>
#include <fstream>
using namespace std; 
 
int razmer ()
{fstream f;
f.open ("in.txt", ios::in);
int size=0;
char k;
while(!f.eof())
    {f>>k;
    size++;}
f.close ();
return size-1;
}
void main ()
{   
    fstream f;
    f.open ("in.txt", ios::in); 
    int i=0, sl=0;
    char *text=new char[razmer()];
    while(!f.eof() && i<razmer())
    {f>>text[i];
     i++;}
     text[i] = '\0';
 
     cout<<text<<endl;
 
cin.get();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 18:07     Не считываются пробелы из файла
Посмотрите здесь:

C++ Удалить все пробелы из текста прочитанного из файла
C++ условие: с файла по-байтно считываются символы (while (от первого до последнего символа))
Удалить из файла все лишние пробелы C++
неправильно считываются данные из WAV файла C++
C++ Вычисление интергала, но входные данные сначала считываются из файла, а выходные наоборот в него записываются. Подскажите пожалуйста как это сделать
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SummerRain
 Аватар для SummerRain
325 / 324 / 17
Регистрация: 16.12.2012
Сообщений: 544
15.04.2013, 18:14     Не считываются пробелы из файла #2
23 строку замените на
C++
1
f.get(text[i]);
Wladius
12 / 7 / 2
Регистрация: 06.01.2013
Сообщений: 127
15.04.2013, 18:21  [ТС]     Не считываются пробелы из файла #3
Цитата Сообщение от SummerRain Посмотреть сообщение
23 строку замените на
C++
1
f.get(text[i]);
Спасибо, таким образом считывается с пробелами, но почему f>>text[i]; в таком случае ведет себя именно так?
И еще подсчитывается без пробелов, что изменить в функции razmer ?
SummerRain
 Аватар для SummerRain
325 / 324 / 17
Регистрация: 16.12.2012
Сообщений: 544
15.04.2013, 18:27     Не считываются пробелы из файла #4
аналогично напишите вместо
f>>k;
f.get(k);

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string str;
    cin >> str;   // прочитает до пробела
    //getline(cin, str);  // прочитает вместе пробелами
    cout << str;
    system("PAUSE");
    return 0;
}
если напишите hello world, то выведет на экран только hello
Yandex
Объявления
15.04.2013, 18:27     Не считываются пробелы из файла
Ответ Создать тему
Опции темы

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