IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Файлы, С++
сообщение
Сообщение #1


Desktop
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Создать файл. Записать в него поля:
Фамилия, знак зодиака, дата рождения.


#include<fstream.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
#define FNAME "c:\\zn.txt\0"

void main()
{
char fname[20]=FNAME;
char fam[15];
char zna[15];
char dat[15];
int i;
FILE *out;

clrscr();
if ((out = fopen(fname,"wt"))==NULL)
cout<<"ERROR";

cout<<"Vvesti dani pro cheloveka"<<endl;

for(i=0;i<3;i++)
{
cout<<"Familiya"<<endl;
cin>>fam;
cout<<"Znak zodiaka"<<endl;
cin>>zna;
cout<<"Data rozhdeniya"<<endl;
cin>>dat;

cout<<fam<<endl;
cout<<zna<<endl;
cout<<dat<<endl;
}
fclose(out);

cout<<"Danie zapisani v file "<<fname<<endl;
getch();
}




Файл создается, но ифнормация в него не записывается. Почему ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


cin >> fam;
fputs(fam, out);


Какая-то мутная у тебя программа, тебе надо на Си или на Си++ ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Desktop
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


...

Сообщение отредактировано: Desktop 3 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Нужен С++, так пиши на C++, а не на смеси непонятно чего...

#include <stdlib.h>

#include <iostream.h>
#include <fstream.h>

struct T {
friend ostream& operator << (ostream&, const T&);

char family[15];
char zodiak[15];
char birth[15];
};

ostream& operator << (ostream &os, const T &data) {
os << data.family << endl << data.zodiak << endl << data.birth << endl;
return os;
}

int main() {

const char fname[20] = "zn.txt";

ofstream out(fname, ios::out);
if(!out) {
cerr << "cannot open file " << fname << endl;
exit(-1);
}

cout << "Vvesti dani pro cheloveka" << endl;
for(int i = 0; i < 3; i++) {

T data;
cout << "Familiya: "; cin >> data.family;
cout << "Znak zodiaka: "; cin >> data.zodiak;
cout << "Data rozhdeniya: "; cin >> data.birth;

cout << data;

out << data;
}
out.close();

cout << "Danie zapisani v file " << fname << endl;
return 0;
}
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Desktop
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Большое спасибо за программу!
А можно её по проще как небуть сделать, без структуры ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Попроще у тебя уже было... Как оно работало, ты сам видел...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Michael_Rybak
*****

Группа: Пользователи
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


Цитата(Desktop 3 @ 26.10.2006 22:20) *

А можно её по проще как небуть сделать, без структуры ?



#include <conio.h>
#define FNAME "c:\\zn.txt\0"
#include <fstream>
#include <iostream>

using namespace std;

int main()
{
{
ofstream fout(FNAME);
char fam[15];
char zna[15];
char dat[15];
int i;

cout<<"Vvesti dani pro cheloveka"<<endl;

for(i=0;i<3;i++)
{
cout<<"Familiya"<<endl;
cin>>fam;
cout<<"Znak zodiaka"<<endl;
cin>>zna;
cout<<"Data rozhdeniya"<<endl;
cin>>dat;

fout<<fam<<endl;
fout<<zna<<endl;
fout<<dat<<endl;
}
}

cout<<"Danie zapisani v file "<<FNAME<<endl;
getch();
}
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Desktop
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


Michael_Rybak, спасибо.
а что такое fout ?

Сообщение отредактировано: Desktop 3 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Michael_Rybak
*****

Группа: Пользователи
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


fout - это я объявил такую переменную типа ofstream, которой сразу поставил в соответствие файл FNAME (вместо fout можно было назвать как угодно):

[cpp]ofstream fout(FNAME);[/cpp]

И теперь с ней можно работать точно также, как с cout, а писать она будет в файл. Таких переменных можно создать много, и работать с множеством файлов одновременно.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






И вот ЭТО люди называют С++ ??? wacko.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Desktop
*

Группа: Пользователи
Сообщений: 23
Пол: Мужской

Репутация: -  0  +


...

Сообщение отредактировано: Desktop 3 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Michael_Rybak
*****

Группа: Пользователи
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


Цитата(volvo @ 27.10.2006 12:00) *

И вот ЭТО люди называют С++ ??? wacko.gif


А ЧТО, собственно, люди, по-твоему, должны называть С++? Вообще не понимаю, о чем ты. О перегрузке оператора << ?

Сообщение отредактировано: Michael_Rybak -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 19.04.2024 22:18
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name