Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

07.02.2013, 16:56. Просмотров 416. Ответов 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};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2013, 16:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать файл в C++ (C++):

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

создать файл 1.part и записать в него первые x элементов массива. После чего, создать второй файл 2.part, куда записать оставшиеся в массиве элементы. - C++
Не могу понять почему не работает вот этот кусок текста. ofstream q (&quot;1.part&quot;); for (int i=0; i&lt;10; ++i) { q &lt;&lt; mas ; ...

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

Подскажите, нужно перегрузить оператор или создать метод(если создать то не понимаю как) записи в файл - C++
вот как я хотел сделать запись в файл перегрузкой #pragma once #include &quot;iostream&quot; #include &quot;conio.h&quot; #include &quot;fstream&quot; class...

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

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

4
Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
07.02.2013, 17:42 #2
pi_X_el, 1 вариант быстрее. А фактически, результат будет одинаковым.
1
Somebody
2791 / 1602 / 147
Регистрация: 03.12.2007
Сообщений: 4,199
Завершенные тесты: 1
07.02.2013, 18:02 #3
std::ios::binary не забудь.
1
pi_X_el
Заблокирован
07.02.2013, 18:42  [ТС] #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));
0
Somebody
2791 / 1602 / 147
Регистрация: 03.12.2007
Сообщений: 4,199
Завершенные тесты: 1
07.02.2013, 19:16 #5
Так в варианте с write пишется область памяти размером в 100 структур, а в цикле на каждой итерации пишешь одну и ту же client.
1
07.02.2013, 19:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2013, 19:16
Привет! Вот еще темы с ответами:

Дан текстовый файл. Создать символьный файл, содержащий все знаки препинания, встретившиеся в текстовом файле - C++
Дан текстовый файл. Создать символьный файл, содержащий все знаки препинания, встретившиеся в текстовом файле (в том же порядке).

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

Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все слова из исходного файла - C++
Дан символ 'C' (прописная латинская буква) и текстовый файл. Создать строковый файл, содержащий все слова из исходного файла, начинающиеся...

Создать бинарный файл и текстовый файл - C++
Вот, к примеру, я написал программу для введения 5 чисел в текстовый файл, а как будет выглядеть программа бинарного файла? ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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