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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Crydok
1 / 1 / 0
Регистрация: 16.12.2013
Сообщений: 27
#1

Считать первые 10 символов каждой строки - C++

17.05.2014, 20:43. Просмотров 467. Ответов 5
Метки нет (Все метки)

Здравствуйте! Помогите, пожалуйста, составить программу, которая бы считывала из файла по 10 символов с каждой строчки.Пытался сам,но знания в программировании невелики.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
  const int M=10;
  char buf[M];
  ifstream input("input.txt");
  ofstream out("output.txt");
  while (input.getline(buf, sizeof(M-1)))
      out<<buf<<'\n';
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2014, 20:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считать первые 10 символов каждой строки (C++):

Удалить из каждой строки файла первые K символов - C++
Всем привет! Вообщем есть задачка Дано целое число K и текстовый файл. Удалить из каждой строки файла первые K символов (если длина...

Прочитать первые 10 символов каждой строки из файла - C++
Мне нужно прочитать первые 10 символов каждой строки из файла. Может функция какая есть, чтобы определенное количество символов строки из...

Получить из строк новую строку, содержащюю первые N1 символов строки S1 и последнии N2 символов строки S2 - C++
помогите написать программу на двух разных классах! 2) Даны целые положительные числа N1 и N2 и строки S1 и S2. Получить из этих строк...

Если строки одинаковы, объединить две строки, исключив из второй первые десять символов - C++
Ввести строки. Сравнить первые десять символов двух строк. Если они одинаковы, объединить две строки, исключив из второй первые десять...

Переписать первые элементы каждой строки матрицы - C++
Народ помогите ,за ранее сапсибо Переписать первые элементы каждой строки матрицы D(3,3), которые больше 10, в массив B.

Переписать первые элементы каждой строки матрицы D(3,3), которые больше 10, в массив В. - C++
Пожалуйста помогите написать прогу на C Переписать первые элементы каждой строки матрицы D(3,3), которые больше 10, в массив В.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
17.05.2014, 22:06 #2
C++
1
 while (input.getline(buf, 10))
и M сделайте 11 (на 1 больше) для терминального нуля.
Кстати, sizeof(M-1) равно sizeof(int)
0
Crydok
1 / 1 / 0
Регистрация: 16.12.2013
Сообщений: 27
18.05.2014, 09:22  [ТС] #3
Сделал, как вы говорите, но не выходит. Выходной файл пуст
0
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
18.05.2014, 09:38 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
  const int M=10;
  char buf[1000];
  ifstream input("input.txt");
  if(!input)
  {
      cout<<"input file open error"<<endl;
      system("pause");
      return 1;
  }
  ofstream out("output.txt");
  if(!out)
  {
      cout<<"input file open error"<<endl;
      system("pause");
      return 1;
  }
   while (input.getline(buf, 1000))
  {
    buf[M]=0;
    out<<buf<<endl;
  }
  out.close();
  cout<<"ressult in output.txt"<<endl;
  system("pause");
  return 0;
}
1
Crydok
1 / 1 / 0
Регистрация: 16.12.2013
Сообщений: 27
18.05.2014, 10:09  [ТС] #5
Может у меня что-то не так,но эффект тот же-файл на выходе пустой
0
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
18.05.2014, 10:13 #6
Я исправил код. Оказывается, если в строке символов больше, чем требуется, то:
If the function extracts no elements or _Count - 1 elements, it calls setstate(failbit). In any case, it returns *this.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2014, 10:13
Привет! Вот еще темы с ответами:

Переписать первые элементы каждой строки матрицы D(3,3), которые больше 10, в массив В - C++
Переписать первые элементы каждой строки матрицы D(3,3), которые больше 10, в массив В. Выполнить с использованием указателей и без. ...

Как считать первое слово из каждой строки? - C++
Как считать первое слово из каждой строки из файла и записать в другой файл столбиком? Пробовал использовать char, string, getline и...

В конец каждой строки текстового файла дописать количество символов этой строки - C++
Помогите, нужно : &quot;В конец каждой строки текстового файла дописать количество символов этой строки&quot;. Получается только в начало, не знаю...

Дан безразмерный массив.Вставить количество символов каждой строки вначало этой же строки. - C++
Массив считывается из файла,а в проге указывается как указатель на указатель **.Запуск программы+файла происходит из командной строки.Если...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.05.2014, 10:13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru