Создать файл. Записать в него поля:
Фамилия, знак зодиака, дата рождения.
#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();
}
cin >> fam;
fputs(fam, out);
...
Нужен С++, так пиши на 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;
}
Большое спасибо за программу!
А можно её по проще как небуть сделать, без структуры ?
Попроще у тебя уже было... Как оно работало, ты сам видел...
#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();
}
Michael_Rybak, спасибо.
а что такое fout ?
fout - это я объявил такую переменную типа ofstream, которой сразу поставил в соответствие файл FNAME (вместо fout можно было назвать как угодно):
[cpp]ofstream fout(FNAME);[/cpp]
И теперь с ней можно работать точно также, как с cout, а писать она будет в файл. Таких переменных можно создать много, и работать с множеством файлов одновременно.
И вот ЭТО люди называют С++ ???
...