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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Файл, прошу помощи. 
:(
    Опции темы
alexey4251
Дата 20.4.2010, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Привет всем! У меня следующий вопрос. Есть исходник программы которая создает txt файл и может в него дописывать еще символы и  буквы.
Как переделать программу, что бы она создовала файл с данными, типо шаблона и дописывала в нужные строки нужные символы или слова.
Всем спасибо, кто поможет! smile 
PM MAIL   Вверх
azesmcar
Дата 20.4.2010, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



создай шаблонный файл, помести в текущую директорию приложения, назови как нибудь так myfile.template, при надобности копируешь этот файл, называешь как тебе нужно, открываешь для записи и дописываешь.
PM   Вверх
htzg
Дата 20.4.2010, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Кроме того что программа  "создает  txt файл и может в него дописывать еще символы и  буквы", она что нибудь делает?
Если да, то:
Пример:
программа высчитывает объем коробки со сторонами h, w, l, и записывает в файл:

Код

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main()
{
string h,w,l;
cin >> h >> w >> l;
int s = atoi(h.c_str()) * atoi(w.c_str()) * atoi(l.c_str()) ;
string str;
str = "Коробка " + h + "x" + w + "x" + l + ".txt" ;
ofstream ofile(str.c_str()); // открыли файл для записи...
ofile << " -=Мой файл-шаблон=-" << endl;
ofile << str.substr(0,str.size()-4) << endl;
ofile << "Исходная информация:" << endl;
ofile << "Ширина коробки   = " << w << " м" << endl;
ofile << "Длина коробки    = " << l << " м" << endl;
ofile << "Высота коробки   = " << h << " м" << endl;
ofile << "Результаты расчета показали, что объем коробки = " << s << " м3" << endl;
}


Всегда будет создаваться файл одного образца, но с разной инфо. 

П.с.: я правильно понял вопрос? smile
PM MAIL   Вверх
xvr
Дата 21.4.2010, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Такая программа называется 'препроцессор'. Например препроцессор от С вполне подойдет. Или M4, если хочется чего то помощнее. Их сорцы искать в GNU мире  smile 
PM MAIL   Вверх
alexey4251
Дата 25.4.2010, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Короч может я туплю, но я про среду программирования Borland C++ 3.1.
Я вот не понимаю как создать такую программу.
Вот я хочу чтоб она работала так....
Есть шаблон.
Прдположим программа для записи в шаблон.
Мы в программе вводим число а оно его записывает в опр строку.
Например.
Кол-во фруктов.
Кол-во ягод.
Кол-во овощей.
Нам предлогают ввести числа в строки где спрашивают ягоды и т.д. Но какие мы числа не вводили, нужно что бы всегда в txt писались эти слова с теми числами которые мы ввели.
Кол-во фруктов 3
Кол-во ягод 5
Кол-во овощей 4

извините нуба. smile 
PM MAIL   Вверх
xvr
Дата 26.4.2010, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Цитата(alexey4251 @  25.4.2010,  22:29 Найти цитируемый пост)
Есть шаблон.
Шаблон задан жестко (и закодирован в программе), или может меняться (например задается в файле)?


PM MAIL   Вверх
GoldFinch
Дата 26.4.2010, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

Репутация: 6
Всего: 26



грузите шаблон в память как строку, потом заменяйте в ней соответствующие места на нужные значения %)
PM MAIL ICQ   Вверх
alexey4251
Дата 26.4.2010, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(xvr @  26.4.2010,  09:08 Найти цитируемый пост)
Шаблон задан жестко (и закодирован в программе)

Уже задан. Только менять значения в опр строках.
Вопрос в следующем, как задать шаблон?

Это сообщение отредактировал(а) alexey4251 - 26.4.2010, 14:34
PM MAIL   Вверх
xvr
Дата 26.4.2010, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Цитата(alexey4251 @  26.4.2010,  13:55 Найти цитируемый пост)
Уже задан. Только менять значения в опр строках.
Вопрос в следующем, как задать шаблон?
Тогда htzg вам уже дал ответ ( http://forum.vingrad.ru/index.php?showtopi...t&p=2139417 ) Или он чем то не устраивает?

PM MAIL   Вверх
alexey4251
Дата 26.4.2010, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

#include "stdio.h"
#include "conio.h"

#define FNAME "contacts.txt\0"
void main()
{
char fname[20] = FNAME;
FILE *f;

char fam[15];
char name[15];
char tel[9];

puts("\nDobavleniye info d tel spravochnik\n");

if ((out = fopen (fname,"at"))==NULL)
{

printf("Oshibka otkritiya file dlya doballeniya");
getch();
return;
}

printf("Familiya->");
scanf("%s",&fam);
printf("Imya->");
scanf("%s",&name);
printf("Telefon->");
scanf("&s",&tel);

fprintf(f,"%s %s %s", fam, name, tel);
puts("\nInfo dobavlenna");
fclose(f);
printf("\n\nDlya zavesheniya nagmite <enter>\n");
getch();
}



Взял это за исходник, выдает ошибку на--> if ((out = fopen (fname,"at"))==NULL)


Это сообщение отредактировал(а) alexey4251 - 26.4.2010, 19:02
PM MAIL   Вверх
azesmcar
Дата 26.4.2010, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



alexey4251

Надо объявить out прежде чем использовать
Код

...
FILE* out;
puts("\nDobavleniye info d tel spravochnik\n");
if ((out = fopen (fname,"at"))==NULL)
...


PM   Вверх
alexey4251
Дата 26.4.2010, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Большое спасибо!
А как в Txt документе переносить слово на новую строку? пробовал \n \r.
Не работает. Другие варианты?
PM MAIL   Вверх
azesmcar
Дата 27.4.2010, 07:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(alexey4251 @  26.4.2010,  22:56 Найти цитируемый пост)
А как в Txt документе переносить слово на новую строку? пробовал \n \r.

попробуй \r\n

PM   Вверх
xvr
Дата 27.4.2010, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Цитата(alexey4251 @  26.4.2010,  22:56 Найти цитируемый пост)
А как в Txt документе переносить слово на новую строку?
Если файл открыт как текстовый (есть буква 't' во 2м параметре fopen), то '\n' будет достаточно



Это сообщение отредактировал(а) xvr - 27.4.2010, 09:08
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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