Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Технологии > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 07.12.2018, 09:12   #1
and0
Новичок
 
Регистрация: 28.11.2018
Сообщений: 2
Репутация: 10
По умолчанию Задача С++ работа с файлами

Задание - Создать текстовый файл f, состоящий из 2-3 строк текста произвольной длины. Перезаписать содержание файла f в файл h, так, чтобы в файле h все строки были по 20 символов (кроме последней) и в начале каждой строки стоял ее номер.

Не получается записать массив из строки посимвольно, для переноса на новую строку, записывается по словам

Код:

#include <iostream>
#include <fstream>
using namespace std;
int main(){
	char c[20];
	char ch;
	int i=0;
	ifstream f ("f");

	while (! f.eof()){
		f>>c;
		i++;
		cout<<c<<" ";
		if (i==20){
			cout<<'\n';
			i=0;
		}
}
}

and0 вне форума   Ответить с цитированием
Старый 07.12.2018, 13:16   #2
digitalis
Профессионал
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Адрес: Минск
Сообщений: 1,110
Репутация: 401
По умолчанию

На ++ не пишу, но чисто по логике: считывать строку, определять ее длину и добавлять строку из (20-strlen) пробелов. Запрета на использование строковых функций ведь нет ?
Вопрос знатокам ++ : раэве в С++ strncpy, как в С, нет? Что-то я не нашел в описаниях.

Последний раз редактировалось digitalis; 07.12.2018 в 13:35.
digitalis вне форума   Ответить с цитированием
Старый 07.12.2018, 15:02   #3
and0
Новичок
 
Регистрация: 28.11.2018
Сообщений: 2
Репутация: 10
По умолчанию

Нет, запрета нет, но проблема в том что нужно как- то определить эти 20 символов
and0 вне форума   Ответить с цитированием
Старый 07.12.2018, 15:10   #4
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,752
Репутация: 2126
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Вопрос знатокам ++ : раэве в С++ strncpy, как в С, нет? Что-то я не нашел в описаниях.
Та, ладно https://en.cppreference.com/w/cpp/string/byte/strncpy

Цитата:
Сообщение от and0 Посмотреть сообщение
но проблема в том что нужно как- то определить эти 20 символов
А какие с этим проблемы?

Цитата:
Сообщение от and0 Посмотреть сообщение
Не получается записать массив из строки посимвольно, для переноса на новую строку, записывается по словам
Так выводите не сразу с, а посимольно с[j]
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 08.12.2018, 11:33   #5
digitalis
Профессионал
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Адрес: Минск
Сообщений: 1,110
Репутация: 401
По умолчанию

Цитата:
Сообщение от and0 Посмотреть сообщение
Нет, запрета нет, но проблема в том что нужно как- то определить эти 20 символов
А че тут определять: нехватает - добавить пробелами, лишние - обрезать по самые эти самые до 20.
digitalis вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами(Задача) Alex_244 Общие вопросы C/C++ 1 16.05.2015 08:03
Задача: Работа с файлами по локальной сети Руслан21 Помощь студентам 7 11.03.2012 21:18
Задача на С++. Работа с текстом, файлами .beckham. Помощь студентам 2 19.02.2012 16:29


07:29.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru