Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Crydok
1 / 1 / 1
Регистрация: 16.12.2013
Сообщений: 27
1

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

17.05.2014, 20:43. Просмотров 1117. Ответов 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
Ответы с готовыми решениями:

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

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

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

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

Переписать первые элементы каждой строки матрицы
Народ помогите ,за ранее сапсибо Переписать первые элементы каждой строки...

5
zss
Модератор
Эксперт С++
7380 / 6779 / 4291
Регистрация: 18.12.2011
Сообщений: 17,914
Завершенные тесты: 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 / 1
Регистрация: 16.12.2013
Сообщений: 27
18.05.2014, 09:22  [ТС] 3
Сделал, как вы говорите, но не выходит. Выходной файл пуст
0
zss
Модератор
Эксперт С++
7380 / 6779 / 4291
Регистрация: 18.12.2011
Сообщений: 17,914
Завершенные тесты: 1
18.05.2014, 09:38 4
Лучший ответ Сообщение было отмечено Crydok как решение

Решение

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 / 1
Регистрация: 16.12.2013
Сообщений: 27
18.05.2014, 10:09  [ТС] 5
Может у меня что-то не так,но эффект тот же-файл на выходе пустой
0
zss
Модератор
Эксперт С++
7380 / 6779 / 4291
Регистрация: 18.12.2011
Сообщений: 17,914
Завершенные тесты: 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
18.05.2014, 10:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2014, 10:13

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

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

Парсинг строк: выделить из каждой строки первые три числа, разделенные запятой
Есть строки вроде: ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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