Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запись в файл 
:(
    Опции темы
Iren21
Дата 15.4.2010, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 28.11.2007

Репутация: нет
Всего: нет



В цикле не записываются данные в файл!?

Код
#include <fstream.h>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>


void errorF(char *fn){
    cerr << "\n Ошибка при открытии файла " << fn << endl;
    exit(1);
}

int main(){
    char *fn;
    int s;
    fn = "file";
    FILE *fp;

    if((fp = fopen(fn,"w")) == NULL) errorF(fn);
    else{
        while((s = getch())!= 27){
        putc(s, fp);
        }
    }
        return 0;
}



Модератор: не забываем пользоваться кнопочкой "Код"

Это сообщение отредактировал(а) bsa - 19.4.2010, 17:01
PM MAIL   Вверх
smalcom
Дата 15.4.2010, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 494
Регистрация: 16.10.2004
Где: Dnepr

Репутация: нет
Всего: 7



1. рекомендую не писать вот так
Код

(fp = fopen(fn,"w")) == NULL
....
(s = getch())!= 27


2. открытый файл надо закрыть

Добавлено через 1 минуту и 37 секунд
1. рекомендую не писать вот так
Код

(fp = fopen(fn,"w")) == NULL
....
(s = getch())!= 27


2. открытый файл надо закрыть


--------------------
What DA F...???
PM MAIL WWW Skype Jabber   Вверх
djamshud
Дата 15.4.2010, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 4
Всего: 39



>рекомендую не писать вот так

Почему? Предпочитаете размазывать код в столбик?


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
borisbn
Дата 16.4.2010, 06:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



djamshud, код должен читаться в одном направлении - сверху вниз, а этот код ни читать, ни, тем более, отлаживать невозможно




--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
djamshud
Дата 16.4.2010, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 4
Всего: 39



Предрассудки такие предрассудки. Код читается замечательно. А у вас, borisbn, видимо осадок от ассемблера, где код в стройные три столбца.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
jhonyxakep
  Дата 16.4.2010, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: 1
Всего: 8



Код

#include <iostream.h>
//#include <fstream.h> //нафига???
#include <stdlib.h>
#include <conio.h> 
#include <stdio.h>

using namespace std;

void errorF(char *fn)
    {
        cerr << "\n Ошибка при открытии файла " << fn << endl;
        exit(1);
    }

int main()
 {
    char *fn;
    int s;
    fn = "file";
    FILE *fp;
    
    if((fp = fopen(fn,"w")) == NULL) errorF(fn); else
        {
          while((s = getch())!= 27)
            {
              putc(s, fp);
            }
        }
        
    fclose(fp);
    return 0;
 }

Iren21, во 1 в форуме есть нопочка с надписью "Код", во 2 зачем вам нужен fstream? Для открытия потока fopen хватает iostream. В 3 научитесь оформлять код, на самом деле нечитаемо не разу.



djamshud, ну если это считается нормальным оформлением, то сложно представить какой код вы пишите... smile 


Во блин, даже (до редактирования) скобки неправильно расставил...

Это сообщение отредактировал(а) jhonyxakep - 16.4.2010, 14:37
PM MAIL ICQ   Вверх
smalcom
Дата 16.4.2010, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 494
Регистрация: 16.10.2004
Где: Dnepr

Репутация: нет
Всего: 7



Цитата

Предрассудки такие предрассудки.

перед тем как писать такие "хакерские вые...оны" нужно получить рабочий код. а еще домашнее задание: найти отладчик, который может ставить бряки на любую операцию в одной строке для исходника на Си




--------------------
What DA F...???
PM MAIL WWW Skype Jabber   Вверх
djamshud
Дата 16.4.2010, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 4
Всего: 39



Детка, перед тем как будешь пытаться материться в следующий раз, спроси у мамы разрешения, и заодно она тебе объяснит, что завуалированный мат не делает культуру твоей речи выше. Это раз. Два, на каникулах научись писать код без постоянной надежды на отладчик, потому что по хорошему это настолько крайний случай, что вообще-то к его использованию почти не прибегают (а раз в год по обещанию можно чуток поправить код для отладчика). Отладчик - палочка-выручалочка несчастных кодеришек, неспособных уследить ход выполнения их собственной программы. Отучайся от дурной привычки.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
smalcom
Дата 16.4.2010, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 494
Регистрация: 16.10.2004
Где: Dnepr

Репутация: нет
Всего: 7



-Батяня!, - тут даже я прослезился


--------------------
What DA F...???
PM MAIL WWW Skype Jabber   Вверх
jhonyxakep
Дата 17.4.2010, 05:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: 1
Всего: 8



djamshud, 
smalcom, 
тут можно согласится только с обоимиsmile


Цитата(smalcom @  16.4.2010,  21:51 Найти цитируемый пост)
а еще домашнее задание: найти отладчик, который может ставить бряки на любую операцию в одной строке для исходника на Си


Несмотря на то что отладчик помогает в реально сложных ситуациях, он действительно нужен каждому, и уметь пользоватся им должен каждый программист, однако 

Цитата(djamshud @  16.4.2010,  22:13 Найти цитируемый пост)
Отладчик - палочка-выручалочка несчастных кодеришек, неспособных уследить ход выполнения их собственной программы. Отучайся от дурной привычки.


Это тоже правильное утверждение, тк действительно нормальный программист после пары неделек мучений, впредь будет писать код покрасивее и правильнееsmile 
В крайнем случае стандартный (может и старомодный) прикол программирования: логи, вывод на экран значений переменных, и тд, и тп, это практически все ключевые моменты узнать какое же из условий выполняется, сколько циклов прошло, и отладчик тут врядли поможет... smile 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0736 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.