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

Подсчет символов пробелов и строк в файле - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.96
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4923 / 2666 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
26.02.2011, 20:14     Подсчет символов пробелов и строк в файле #1
Дан текстовый файл. Подсчитать в нем общее количество символов, преобразовать эту величину к размеру файла в килобайтах, вывести также количество пробелов в файле и количество строк. Все данные просчитать в одном цикле.

Никак не выходит в 1 цикле
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2011, 20:14     Подсчет символов пробелов и строк в файле
Посмотрите здесь:

подсчет количества символов в файле C++
Подсчет символов в файле C++
Подсчет символов в файле. Не пашет C++
Подсчет колличества слов разделенных пробелом и пробелов в файле C++
C++ Подсчет строк в файле
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
26.02.2011, 21:04     Подсчет символов пробелов и строк в файле #2
Упс. не туда запостил
Сорри
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4923 / 2666 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
26.02.2011, 22:50  [ТС]     Подсчет символов пробелов и строк в файле #3
up...
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
26.02.2011, 23:28     Подсчет символов пробелов и строк в файле #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <fstream>
#include <iostream>
 
int main()
{
   std::ifstream fin("input.txt");
   
   int p = 0;
   int s = 0;
   while (!fin.eof())
   {
      char c;
      fin.get(c);
      if (c == ' ') p++;
      s++;
   }
   std::cout << p << " " << s << std::endl;
   return 0;
}
сначала выводит количество пробелов, а потом количество символов

Добавлено через 5 минут
EDIT -- - -- - -- - ->
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 <fstream>
#include <iostream>
 
int main()
{
   std::ifstream fin("input.txt");
   
   int p = 0; //количество пробелов
   int s = 0; //количество символов
   int t = 1; //количство строк
   while (!fin.eof())
   {
      char c;
      fin.get(c);
      if (c == ' ')  p++;
      if (c == '\n') t++;
      s++;
   }
   std::cout << t << " " << p << " " << s << std::endl;
   //если без переходов на новую строчку и символа конца файла
   std::cout << t << " " << p << " " << s-t << std::endl; 
 
   return 0;
}
svadimv7
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 5
23.05.2011, 20:30     Подсчет символов пробелов и строк в файле #5
Доброе время суток
А каким образом можно реализовать подсчет пробелов в Windows Application, алгоритм реализовать в dll?
MahovIV
5 / 6 / 1
Регистрация: 17.09.2013
Сообщений: 337
19.02.2014, 21:26     Подсчет символов пробелов и строк в файле #6
Цитата Сообщение от Mayonez Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <fstream>
#include <iostream>
 
int main()
{
   std::ifstream fin("input.txt");
   
   int p = 0;
   int s = 0;
   while (!fin.eof())
   {
      char c;
      fin.get(c);
      if (c == ' ') p++;
      s++;
   }
   std::cout << p << " " << s << std::endl;
   return 0;
}
сначала выводит количество пробелов, а потом количество символов

Добавлено через 5 минут
EDIT -- - -- - -- - ->
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 <fstream>
#include <iostream>
 
int main()
{
   std::ifstream fin("input.txt");
   
   int p = 0; //количество пробелов
   int s = 0; //количество символов
   int t = 1; //количство строк
   while (!fin.eof())
   {
      char c;
      fin.get(c);
      if (c == ' ')  p++;
      if (c == '\n') t++;
      s++;
   }
   std::cout << t << " " << p << " " << s << std::endl;
   //если без переходов на новую строчку и символа конца файла
   std::cout << t << " " << p << " " << s-t << std::endl; 
 
   return 0;
}
Я не могу понять, почему, когда есть несколько пробелов в конце строки, то количество пробелов отображается на один больше?

Добавлено через 2 минуты
Такая проблема у меня появляется, когда я не ввожу символ конца файла.

Добавлено через 1 минуту
А можно с обработкой ошибок?
Yandex
Объявления
19.02.2014, 21:26     Подсчет символов пробелов и строк в файле
Ответ Создать тему
Опции темы

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