|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.02.2012, 06:53 | #1 |
Пользователь
Регистрация: 05.12.2011
Сообщений: 40
|
(С++) как добавить в файл запись
Здравствуйте, пишу программу, остановился на моменте добавления записи в файл желательно в конец, вроде все правильно записал,программа вся работает, не работает только добавление
вот код Код:
|
03.02.2012, 08:43 | #2 |
Пользователь
Регистрация: 05.12.2011
Сообщений: 40
|
FILE *file = fopen( "file.txt", "a+" );
так же нужно писать для добавления в конец? |
03.02.2012, 13:26 | #3 |
Новичок
Джуниор
Регистрация: 03.02.2012
Сообщений: 1
|
Семейсво функций FILE рассматривать не будет в связи с её архаичносью, и начнём сразу с варианта, который не входит в стандарт, но присутствует во многих компиляторах.
#include <sys/stat.h> #include <memory.h> #include <fcntl.h> #include <stdio.h> #include <io.h> struct mystruct "za polarnoi lupoi" { int i; char buf[5]; double d; }; int main(int argc, char* argv[]) { // открываем файл int fh = _open("file.dat",_O_RDWR | _O_BINARY); if (fh == -1) { // или при необходимости создаём новый fh = _creat("file.dat",_S_IREAD | _S_IWRITE); if (fh == -1) // не шмагла :xz: return 1; } // готовим структуру для записи mystruct ms; memset(&ms,0,sizeof ms); ms.i = 1; ms.d = 2; // позиционируемся в конец файла _lseek(fh,0,SEEK_END); // добавляем новую структуру _write(fh,&ms,sizeof ms); // позиционируемся в начало _lseek(fh,0,SEEK_END); // читаем первую записанную структуру _read(fh,&ms,sizeof ms); return 0; } Эта программа открывает файл (либо создаёт его при необходимости) и добавляет в него новую структуру, затем читает первый экземпляр. А вообще у тебя быдлокод так делают только ламеры! как тебя ещё не отчислили! Последний раз редактировалось Master Piknishok; 03.02.2012 в 13:32. |
03.02.2012, 13:47 | #4 |
Новичок
Джуниор
Регистрация: 03.02.2012
Сообщений: 2
|
полностью согласен с предыдущим комментарием. книжки нужно читать, ну ладно сам таким был неопытным, не знал как бэйсик от си ++ отличить, поможем бедняге, старается всё-таки. Вот мой совет:
Нет никакой разницы в плане удобочитаемости следующих фрагментов: void using_k_and_r_style() { // ... } void putting_each_brace_on_its_own_line( ) { // ... } void or_putting_each_brace_on_its_own_li ne_indented() { // ... } вот и вся проблема. |
03.02.2012, 13:49 | #5 |
Новичок
Джуниор
Регистрация: 03.02.2012
Сообщений: 2
|
FILE *file = fopen( "file.txt", "a+" );
так же нужно писать для добавления в конец-ты прав капитан картофель |
03.02.2012, 14:02 | #6 |
Пользователь
Регистрация: 05.12.2011
Сообщений: 40
|
Я не понял не слова что вы оба написали там
вы помоему сами не понимаете чего понаписали люди кто понимает ответьте на мой вопрос пожалуйста |
06.06.2014, 23:12 | #7 |
Новичок
Джуниор
Регистрация: 04.06.2014
Сообщений: 1
|
Помощь по программе
Вот часть от программы где осуществляется добавление новых записей
Выдается ошибка. подскажите как ее исправить? void add(){ int bytes=28*(count+1); gr=(Worker*)realloc(gr,bytes); Worker st; printf("Add Worker number %d", count, " :\n"); printf("Input name:\n"); scanf("%s", &st.name); printf("Input group:\n"); scanf("%d", &st.group); printf("Input year:\n"); scanf("%d", &st.year); gr[count]=st; count++; printf("Worker added success.\n"); } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как добавить exe файл..?! | Manhunt714 | Общие вопросы Delphi | 15 | 01.09.2011 10:31 |
Как при вводе данных на одной форме - добавить запись на двух связанных таблицах? | маврик | Microsoft Office Access | 13 | 05.11.2009 10:40 |
Как добавить запись в файл через StringGrid | Oooooleg | Помощь студентам | 5 | 17.05.2009 14:47 |