ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Вопрос по работе с файлами в с++
  #1  
Старый 10.01.2007, 23:03
Аватар для freddi
freddi
Постоянный
Регистрация: 05.07.2006
Сообщений: 458
Провел на форуме:
2943499

Репутация: 807
По умолчанию Вопрос по работе с файлами в с++

Дан файл вида:

слово1
слово2
слово3
и тд

Необходимо написать программу, которая берет каждое слово из файла и соединяет с другим словом, например «тест:», и выводит в файл результат:

тест:слово1
тест:слово2
тест:слово3

Сам мучился но ничего не вышло(((
вот мой исходник(нерабочий, создан для 2 строчек в файле) поправьте что не так, или напишите свой вариант решения данной задачи(под ДОС, не на визуале!!!).

Код:
#include <iostream.h> 
#include <fstream.h>
#include <string.h>
void main()

{
   ofstream book_file("123.txt");
   ifstream input_file("123.txt");
   char one[64], two[64], stroka1 [128];
   input_file.getline(one, sizeof(one)) ;
   input_file.getline(two, sizeof(two));
   cout << one << endl;
   cout << two << endl;
   cout<<"vvedite slovo: ";
   cin.getline(stroka1,64);
   book_file<< strcat(stroka1 ,one)<<strcat(stroka1 ,two);
}
 
Ответить с цитированием

  #2  
Старый 10.01.2007, 23:32
Аватар для _Great_
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме:
5339610

Репутация: 4360


Отправить сообщение для _Great_ с помощью ICQ
По умолчанию

ну добавь в свой исходник цикл и всё..
 
Ответить с цитированием

  #3  
Старый 11.01.2007, 00:25
Аватар для nc.STRIEM
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


Отправить сообщение для nc.STRIEM с помощью ICQ
По умолчанию

через fgets() сделай все просто...

Последний раз редактировалось nc.STRIEM; 11.01.2007 в 00:35..
 
Ответить с цитированием

  #4  
Старый 11.01.2007, 00:41
Аватар для freddi
freddi
Постоянный
Регистрация: 05.07.2006
Сообщений: 458
Провел на форуме:
2943499

Репутация: 807
По умолчанию

Мой код неработает, я знаю что нужно сделать цикл чтоб было для всех строк, но код неправельный.

2 nc.STRIEM
Я не силен в си, мож ты напишешь пример или кто-нибудь хотябы))

Последний раз редактировалось freddi; 11.01.2007 в 01:07..
 
Ответить с цитированием

  #5  
Старый 11.01.2007, 01:42
Аватар для sni4ok
sni4ok
Участник форума
Регистрация: 04.11.2006
Сообщений: 150
Провел на форуме:
1174659

Репутация: 175
Отправить сообщение для sni4ok с помощью ICQ
По умолчанию

Код:
#include <string>
#include <vector>
#include <fstream>
#include <sstream>
#include <functional>
#include <algorithm>

using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{

	std::vector<std::string> buf;
	{
		std::ifstream f("123.txt");
		std::copy(std::istream_iterator<std::string>(f),std::istream_iterator<std::string>(),std::back_inserter(buf));
	}

	std::ofstream f("123.txt");
	std::transform(buf.begin(),buf.end(),
		std::ostream_iterator<std::string>(f, "\n"),
		std::bind1st(std::plus<std::string>(), "тест:")
		);

	return 0;
}

Последний раз редактировалось sni4ok; 11.01.2007 в 01:45..
 
Ответить с цитированием

  #6  
Старый 11.01.2007, 21:47
Аватар для freddi
freddi
Постоянный
Регистрация: 05.07.2006
Сообщений: 458
Провел на форуме:
2943499

Репутация: 807
По умолчанию

2 sni4ok

1) Неработает)))
2) Мне кажется можно сделать гараздо проще. Ты там слишком все накрутил по-моему.
 
Ответить с цитированием

  #7  
Старый 11.01.2007, 21:52
Аватар для sni4ok
sni4ok
Участник форума
Регистрация: 04.11.2006
Сообщений: 150
Провел на форуме:
1174659

Репутация: 175
Отправить сообщение для sni4ok с помощью ICQ
По умолчанию

Цитата:
Сообщение от freddi  
2 sni4ok

1) Неработает)))
2) Мне кажется можно сделать гараздо проще. Ты там слишком все накрутил по-моему.
всё работает, обьясняю по пунктам
создай файл 123.txt, напиши в него
слово1
слово2
слово3
сохрани, закрой, проверь что запускаешь из тойже дириктории(можешь кстати пути на жёсткую ссылку сделать, типа c:\123.txt, вообщем запускаешь эту бадягу, после выполнения в том же файле будет следующее:
тест:слово1
тест:слово2
тест:слово3

к вопросу насчёт того что накрутил- ты не прав, у меня вызывается 2 стандартных алгоритма.. куда может быть проще?
 
Ответить с цитированием

  #8  
Старый 11.01.2007, 22:18
Аватар для freddi
freddi
Постоянный
Регистрация: 05.07.2006
Сообщений: 458
Провел на форуме:
2943499

Репутация: 807
По умолчанию

Компилю я в Borland C++ и он мне выдает 7 ошибок:
6 из которых ссылаются на то что не может открыть инклудовские файлы и еще ошибка в
using namespace std;
 
Ответить с цитированием

  #9  
Старый 11.01.2007, 22:34
Аватар для sni4ok
sni4ok
Участник форума
Регистрация: 04.11.2006
Сообщений: 150
Провел на форуме:
1174659

Репутация: 175
Отправить сообщение для sni4ok с помощью ICQ
По умолчанию

Цитата:
Сообщение от freddi  
Компилю я в Borland C++ и он мне выдает 7 ошибок:
6 из которых ссылаются на то что не может открыть инклудовские файлы и еще ошибка в
using namespace std;
ну значит компилятор у тя древний, поставь последнюю версию...
кто же виноват, что у тя компилятор самые основные вещи не поддерживает?
з.ы - единственное место в приведённом коде не соотвествующие стандарту- это название функции для точки входа, если её заменить например на
int main(int, char**), то приведённый код будет 100% коретным в любом плюсовом компиляторе, поддерживающим хотябы стандарт 98 года.
 
Ответить с цитированием

  #10  
Старый 11.01.2007, 23:00
Аватар для freddi
freddi
Постоянный
Регистрация: 05.07.2006
Сообщений: 458
Провел на форуме:
2943499

Репутация: 807
По умолчанию

Цитата:
Сообщение от sni4ok  
ну значит компилятор у тя древний, поставь последнюю версию...
кто же виноват, что у тя компилятор самые основные вещи не поддерживает?
Нда уж....
От компилятора здесь ничего не зависит.

Вопрос остался открытым.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по InetCrack !! :) Nice PHP, PERL, MySQL, JavaScript 12 23.07.2008 17:51
Proxy FAQ foreva Чужие Статьи 12 04.01.2008 12:15
ЕсТь ВоПрос Guma Чаты 4 26.10.2005 21:48
ВОПРОС ЗНАТОКАМ Hrust Болталка 12 23.01.2005 19:31
Вопрос... Black_Death Болталка 1 05.01.2005 04:56



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT.XYZ