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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
pi_X_el
Заблокирован
#1

Создать файл в C++ - C++

07.02.2013, 16:56. Просмотров 404. Ответов 4
Метки нет (Все метки)

Нужно создать текстовый файл и в нем будет 100 записей структуры clientData


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct clientData
{
    int acctNum;
    char lastName[20];
    char firstName[20];
    float balance;  
};
 
 
int main()
{
    std::ofstream fCredit.open("credit.dat", std::ios::out);
    
    return 0;
}

Какой вариант лучше использовать?

вариант 1:
fCredit.write((const char *)&client, 100*sizeof(client));

вариант 2:
for (int i=1; i<=100; i++)
fCredit.write((const char *)&client, sizeof(client));

Добавлено через 1 минуту
C++
1
clientData client = {0, "", "", 0.0};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2013, 16:56     Создать файл в C++
Посмотрите здесь:

Файл: Создать файл и записать в него обратные натуральные числа 1,1/2,...1/n. - C++
Помогите подготовиться к отчету.Создать файл и записать в него обратные натуральные числа 1,1/2,...1/n.Вывести на экран все компоненты...

Создать файл с квадратной матрицей; чётные элементы переместить в один файл, нечётные - в другой - C++
• Создать файл с массивом А. • Четные элементы переместить в файл А • Нечетные элементы переместить в файл В Не могу понять Как...

Есть файл f, c целыми числами. Создать новый файл g где все компоненты файла f в квадрате. - C++
Помогите пожалуйста на завтра!:'( Есть файл f, c целыми числами. Создать новый файл g где все компоненты файла f в квадрате. Заранее...

Дан файл,компонентами его яв-ся числа.Число компонент делится на 2.Создать новый файл,куда будет записываться наименьшее из каждой пары чисел 1 файла - C++
#include &quot;fsteam&quot; #include &quot;iomanip&quot; using namespace std; int main() {ifstream in(&quot;f.txt&quot;); ofstream out(&quot;g.txt&quot;); int i; ...

создать файл - C++
Помогите пожайлуста исправить программу. Файл вроде создает,а вот просмотр,добавление и изменение никак. Подскажите как поменять местами в...

Создать файл - C++
Здравствуйте using namespace System; using namespace System::IO; int main() { String^ fileName = &quot;textfile.txt&quot;; ...

Создать файл - C++
Создайте файл каталога книг. По заданной специальности занесите в отдельный файл сведения о всех изданиях. (ФИО, названия, год издания)

создать файл - C++
Используя функции и режим меню, создать файл из 10 структур, просмотреть файл, добавить в файл новую информацию и, применяя режим прямого...

Создать файл - C++
Написать программу, которая создает файл, состоящий из N целых чисел, и вывести на экран только отрицательные элементы файла. ...

Создать файл в папке - C++
Как создать папку в корне программы, а в это папке создать файл?(на Си)

Создать текстовый файл - C++
Создать текстовый файл, содержащий целочисленные значения, следующего формата 5 21 4 37 52 9 . . .Определить, являются ли...

Не получается создать файл - C++
Мучаюсь с этой проблемой уже третий день Вот код HANDLE hOut; TCHAR file = &quot;C:/TEST.txt&quot;; DWORD nL; TCHAR Buffer; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
07.02.2013, 17:42     Создать файл в C++ #2
pi_X_el, 1 вариант быстрее. А фактически, результат будет одинаковым.
Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,189
Завершенные тесты: 1
07.02.2013, 18:02     Создать файл в C++ #3
std::ios::binary не забудь.
pi_X_el
Заблокирован
07.02.2013, 18:42  [ТС]     Создать файл в C++ #4
Спасибо.

У меня еще один вопрос есть. Почему при таком способе записи в файле оказывается сплошной мусор?

C++
1
2
3
4
5
6
std::fstream fCredit;
clientData client = {0, "", "", 0.0};
 
fCredit.open("credit.dat", std::ios::in | std::ios::out | std::ios::binary);
 
fCredit.write((const char *)&client, 100*sizeof(client));
Добавлено через 7 минут
А когда через цикл делаешь, то все нормально:

C++
1
2
for (int i=1; i<=100; i++)
    fCredit.write((const char *)&client, sizeof(client));
Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,189
Завершенные тесты: 1
07.02.2013, 19:16     Создать файл в C++ #5
Так в варианте с write пишется область памяти размером в 100 структур, а в цикле на каждой итерации пишешь одну и ту же client.
Yandex
Объявления
07.02.2013, 19:16     Создать файл в C++
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru