Запись в файл с использованием char
(1)Записывая в файл, тот текст, который был передан в форме char, из него получились какие-то "кракозябры", а с использованием string все в порядке. В чем ошибка, при использовании char ? (2) Как можно переместиться на определенное количество строк, нашел функцию fseek, но не понял, как ей пользоваться, как представить файл в бинарном виде. И еще вопрос (3) Например, я ищу какое-то слов в файле, можно ли, найдя строку с этим словом, взять не всю строку, а только ту часть, которая идет после него ?
class Mobile {
public:
char name[30]; // Фамилия // Например, здесь
string date; // Дата установки
int number; // номер телефона
char address[30]; // И здесь
Mobile(char *n, string de, int num, char *add) {
name[30] = n[30];
date = de;
number = num;
address[30] = add[30];
}
};
ostream& operator<<(ostream & of, Mobile &d) {
of << "Name: " << d.name << "\nInstallation date: " << d.date << "\nNumber: " << d.number << "\nAddress: " << d.address << "\n";
return of;
}
int main()
{
ofstream oname("write.txt");
ifstream iname("write.txt");
int n, N;
char name[30];
int number;
string date;
char address[30];
string inform;
if (!oname.is_open()) {
cout << "File for writing is not open";
}
else {
cout << "Сколько абонентов желаете ввести: "; cin >> n;
for (int i = 0; i < n; i++) {
cout << i + 1 << " Абонент:\n";
cout << "Введите фамилию абонента: "; cin >> name;
cout << "Введите номер абонента: "; cin >> number;
cout << "Введите дату установки: "; cin >> date;
cout << "Введите адрес абонента: "; cin >> address;
Mobile abonent(name, date, number, address);
oname << abonent;
}