Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> потоки. HELP, несложная задачка 
:(
    Опции темы
FieStik
Дата 31.5.2011, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 28.6.2010

Репутация: -3
Всего: -3



Всем привет, посеитившим эту тему. Очень сильно нужна ваша помощь в C++. Нужно написать программку(в ОС LINUX!!!), вроде как неочень сложную, но для меня это сущая бездна, потому как С++ непонимаю вобще..

Условие
Разработать консольную программу. Задача должна быть оформлена ввиде
функции, реализованной в файле myfunc.cpp и вызываемой из функции main,
которая расположена в файле laba3.cpp.
Задача: 
Напишите программу, которая производит замену в вводном потоке всех
символов '\t' на 8-мь символов пробела и выводит результаты в выводной поток.
Потоки должны быть связаны с файлами на диске. Файл, содержащий
исходные данные должен открываться в режиме "только чтение".

Помогите пожалуйста. Действительно очень важно. У меня есть только сутки.
И просьба, к тем кто возможно откликнется - вставлять комментарии. 
PM MAIL   Вверх
boostcoder
Дата 31.5.2011, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 16
Всего: 110



лови.
Код

#include <fstream>
#include <iostream>

void replace_tab(std::ostream& out, std::istream& in) {
   // читаем посимвольно пока не возникнет ошибка, или пока не конец потока.
   for ( char ch; in.get(ch); ) {
      // если найденный символ таб - записываем вместо него восемь пробелов.
      if ( ch == '\t' ) {
         static const char buf[] = "        ";
         out.write(buf, sizeof(buf));
      // иначе записываем исходный символ.
      } else {
         out.put(ch);
      }
   }
   // конец цикла.

   // возврат.
}

int main() {
   // открываем входной поток.
   std::ifstream in("infile.txt");
   // если ошибка - сообщаем и выходим.
   if ( !in ) {
      std::cerr << "can`t open input stream" << std::endl;
      return 1;
   }
   
   // открываем выходной поток.
   std::ofstream out("outfile.txt", std::ios::trunc);
   // если ошибка - сообщаем и выходим.
   if ( !out ) {
      std::cerr << "can`t create output stream" << std::endl;
      return 1;
   }

   // функция замены табов пробелами.   
   replace_tab(out, in);

   // нормальное завершение.
   return 0;
}


Добавлено @ 20:02
Цитата(FieStik @  31.5.2011,  19:50 Найти цитируемый пост)
вставлять комментарии

 smile 

Это сообщение отредактировал(а) boostcoder - 31.5.2011, 20:07
PM WWW   Вверх
FieStik
Дата 1.6.2011, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 28.6.2010

Репутация: -3
Всего: -3



У меня только пару вопросов..
1. За что отвечают параметры  - std::ostream& std::istream&  std::ifstream  std::ofstream? А то я как то неособо понимаю.
2. Вы сами пробывали эту программу в действии? Не поймите неправильно, просто мне нужна уверенность, что это рабочая программа, так как мне уже писали неробочие, а завтра в институте(на Linux) у меня не будет возможности разбираться в коде.
PM MAIL   Вверх
boostcoder
Дата 1.6.2011, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 16
Всего: 110



Цитата(FieStik @  1.6.2011,  14:51 Найти цитируемый пост)
За что отвечают параметры  - std::ostream& std::istream&  std::ifstream  std::ofstream?

это аргументы функции.

Цитата(FieStik @  1.6.2011,  14:51 Найти цитируемый пост)
Вы сами пробывали эту программу в действии? Не поймите неправильно, просто мне нужна уверенность, что это рабочая программа

это верх наглости!
ни спасибо, никакой благодарности!
сама и проверь, мля!

Это сообщение отредактировал(а) boostcoder - 1.6.2011, 18:21
PM WWW   Вверх
GrayCardinal
Дата 1.6.2011, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 8
Всего: 58



LOL


--------------------
PM MAIL WWW   Вверх
FieStik
Дата 1.6.2011, 18:00 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 28.6.2010

Репутация: -3
Всего: -3



Почему сверх наглости? Я спрашиваю потому, что я не имею возможности это проверить. А Вы, потому как писали это могли бы и сказать она нормально откомпилировалась или Вы даже не пробывали, а просто написали её в редакторе(как делали некоторые личности, которых я просила помочь,и в итоге эти проги были нерабочими).. Спасибо я бы сказала, только после того как удостоверилась в рабочей программе(в таком случае было бы за что). Я же просила, не понять меня неправильно.
PM MAIL   Вверх
boostcoder
Дата 1.6.2011, 18:11 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 16
Всего: 110



есть мне что рассказать тебе...
но не стану. дабы форумчане не узнали как я к человекам с сучьими наклонностями отношусь.

удачи.


Это сообщение отредактировал(а) boostcoder - 1.6.2011, 18:32
PM WWW   Вверх
Sahab
Дата 1.6.2011, 18:12 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 1.9.2009

Репутация: нет
Всего: 3



Цитата(FieStik @ 1.6.2011,  18:00)
Почему сверх наглости? Я спрашиваю потому, что я не имею возможности это проверить. А Вы, потому как писали это могли бы и сказать она нормально откомпилировалась или Вы даже не пробывали, а просто написали её в редакторе(как делали некоторые личности, которых я просила помочь,и в итоге эти проги были нерабочими).. Спасибо я бы сказала, только после того как удостоверилась в рабочей программе(в таком случае было бы за что). Я же просила, не понять меня неправильно.

Потому что человек потратил некоторую часть своей(!) жизни на написание сего а для Вас до сих пор не за что сказать спасибо?
PM MAIL   Вверх
FieStik
Дата 1.6.2011, 19:14 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 28.6.2010

Репутация: -3
Всего: -3



Цитата(Sahab @ 1.6.2011,  18:12)
Цитата(FieStik @ 1.6.2011,  18:00)
Почему сверх наглости? Я спрашиваю потому, что я не имею возможности это проверить. А Вы, потому как писали это могли бы и сказать она нормально откомпилировалась или Вы даже не пробывали, а просто написали её в редакторе(как делали некоторые личности, которых я просила помочь,и в итоге эти проги были нерабочими).. Спасибо я бы сказала, только после того как удостоверилась в рабочей программе(в таком случае было бы за что). Я же просила, не понять меня неправильно.

Потому что человек потратил некоторую часть своей(!) жизни на написание сего а для Вас до сих пор не за что сказать спасибо?

за это спасибо. Жаль что мы не поняли друг друга, хотя можно было просто ответить. И кстати по поводу репутации.. мне то пофиг на неё, но хочеться сказать, что только низкий человек мог такое написать, за то что ему несказали спасибо.

Это сообщение отредактировал(а) FieStik - 1.6.2011, 19:17
PM MAIL   Вверх
boostcoder
Дата 1.6.2011, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 16
Всего: 110



Цитата(FieStik @  1.6.2011,  19:14 Найти цитируемый пост)
 только низкий человек мог такое написать

тебе виднее smile 


Это сообщение отредактировал(а) boostcoder - 1.6.2011, 23:25
PM WWW   Вверх
bsa
Дата 2.6.2011, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 16
Всего: 196



FieStik, кстати, разницы под Windows и Linux в данной программе нет. Можешь спокойно проверять сама.
PM   Вверх
MAKCim
Дата 4.6.2011, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



я, кстати, не вижу ничего криминального здесь  smile 

Цитата(FieStik @  1.6.2011,  14:51 Найти цитируемый пост)
2. Вы сами пробывали эту программу в действии? Не поймите неправильно, просто мне нужна уверенность, что это рабочая программа, так как мне уже писали неробочие, а завтра в институте(на Linux) у меня не будет возможности разбираться в коде. 

вроде культурно написано

в общем, мое мнение, эта тема априори для центра помощи
и если кто-то решил помочь тут, то мог бы уже и до конца помочь 
я наглости не вижу

Добавлено через 5 минут и 30 секунд
boostcoder
в программе небольшой баг  smile 
должно быть sizeof(buf) - 1


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
boostcoder
Дата 4.6.2011, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 16
Всего: 110



Цитата(MAKCim @  4.6.2011,  10:42 Найти цитируемый пост)
должно быть sizeof(buf) - 1

да. верно.

MAKCim, по остальному - у тебя есть право на собственное мнение.
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.1085 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.