Форум программистов, компьютерный форум CyberForum.ru

Работа с файлами C++ и C - C++

Восстановить пароль Регистрация
 
bestpalyer1
-1 / 1 / 0
Регистрация: 20.12.2012
Сообщений: 47
29.05.2013, 20:05     Работа с файлами C++ и C #1
Уважаемые форумчане,кто умеет работать с файлами C и C++ ,помогите ,пожалуйста, написать данные функции на C:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//Сохранение файла
void save_to_file(person *persons, int size)
{
    remove(data_filename);
    if (size == 0)
    {
        cout << "Массив пуст - файл удален!" << endl;
        return;
    }
    ofstream fs(data_filename); 
    //ofstream организует запись данных  в файл
    for (int i = 0; i < size -1; ++i)
        fs << persons[i].name.first_name << endl
            << persons[i].name.second_name << endl
            << persons[i].name.patronymic << endl
            << persons[i].adress << endl
            << persons[i].telephone_number << endl
            << persons[i].age << endl;
    fs << persons[size - 1].name.first_name << endl
        << persons[size - 1].name.second_name << endl
        << persons[size - 1].name.patronymic << endl
        << persons[size - 1].adress << endl
        << persons[size - 1].telephone_number << endl
        << persons[size - 1].age;
        
    fs.close();
//  cout << "Сохранение завершено" << endl;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//Удаление людей с заданным возрастом
void delete_age(person*& persons, int &size)
{
    cout << "Введите удаляемый возраст: ";
    int signed_age;
    cin >> signed_age;
    while (signed_age < 0)
    {
        cout << "Введенный возрас некорректен!" << endl
            << "Повторите ввод: ";
        cin >> signed_age;
    }
    unsigned int age = (unsigned int) signed_age;
    person *new_persons = new person[size];
    int new_size = 0;
    for (int i = 0; i < size; ++i)
        if (persons[i].age != age)
            new_persons[new_size++] = persons[i];
        else
        {
            delete persons[i].name.first_name;
            delete persons[i].name.second_name;
            delete persons[i].name.patronymic;
            delete persons[i].adress;
            delete persons[i].telephone_number;
        }
    delete [] persons;
    persons = new person[new_size];
    memcpy(persons,new_persons,new_size*sizeof(person));
    delete [] new_persons;
    if (size - new_size == 0)
        cout << "Никого не нашёл - никого не удалил" << endl;
    else
        cout << "Удалено " << (size - new_size) << " человек(а)!" << endl;
    size = new_size;
}

Или киньте источник, где можно полноценно разобраться с данными функциями.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2013, 20:05     Работа с файлами C++ и C
Посмотрите здесь:

Работа с файлами C++
C++ Работа с файлами
Работа с файлами в C++ C++
Работа с файлами C++
C++ Работа с файлами
Работа с файлами. C++
C++ Работа с файлами
C++ Работа с файлами C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 16:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru