Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > не происходит передача данных в блокнот(.txt)


Автор: prolight 4.7.2008, 12:59
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;

void main()
{
    FILE*f=fopen("C:\\Users\\1\\Desktop\\type.txt","a+");
    int kassa=0,l=0,pro=0;
    char b[100],w;
    for(;pro==0;){
        cin>>w;
        if(w=='e'){
            pro++;
        }
        if(w=='p'){
            cin.getline(b,100);
            fputs(b,f);
            fclose(f);
        }
    }
    
    
}
первый раз нажимаю 'p', пишу текст,потом 'e',программа закрыветься открываю type.txt-блокнот пустой.почему?

Автор: MAKCim 4.7.2008, 13:11
поставь fflush(f) перед fclose()

Автор: prolight 4.7.2008, 13:21
Цитата(MAKCim @ 4.7.2008,  13:11)
поставь fflush(f) перед fclose()

ничего не изменилось

Автор: ama_kid 4.7.2008, 13:40
Цитата(prolight @  4.7.2008,  12:59 Найти цитируемый пост)
почему?
Код
...
       if(w=='p'){
            cin.ignore();         // Надо очищать буфер ввода!
            cin.getline(b,100);
            ...


Автор: prolight 4.7.2008, 14:33
спасибо.работает

Автор: anatox91 4.7.2008, 21:49
и вообще как-то странно использовать сразу и stdio.h и iostream, слишком перемешанный код получается

Автор: prolight 5.7.2008, 09:28
anatox91, я по привычке иострим подключаю,это для меня неотъемлемая чсть программы)

Автор: Cricket2007 22.7.2008, 15:37
а если попробовать так 

#include<fstream>
using namespace std;

void main()
{
    
ofstream file("type.txt",ios::app);

file<<"123456";
}

этот код точно создает файл и записавает в него 123456
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)