Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2015, 23:05   #1
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию С++, добавление строки в конец файла

РЕбят, привет, как в QT из QLIneEdit добавить строку в конец файла?

Пробовал так:

Код:

void MainWindow::on_pushButton_2_clicked()
{
    ofstream out;  //создаем стреам
    out.open("output.txt", ios::in); //говорим в какой файл
    out.seekp(0, ios::end); //перемещаемся в конец файла
    out.write("output.txt",ui->lineEdit_2->text.toStdString());  //Пишем строку
    out << endl; //говорим что конец строки
    out.close(); // закрываем файл

}
Ругается на 4-ую строку.
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 12.05.2015, 08:31   #2
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Там, где write, как, все-таки, добавить строку из lineedit в текстовый файл?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 12.05.2015, 10:42   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

1. Прочитать доку по ofstream и увидеть, что у write за парметры, а не городить.
2. Узнать об операторе <<
3. Писать ошибки, которые говорит компилятор и читать их
p51x вне форума Ответить с цитированием
Старый 12.05.2015, 14:19   #4
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Код:
void MainWindow::on_pushButton_2_clicked()
{ofstream out; //создаем стреам.
    int a=ui->lineEdit_2->text().length();
    QString value=ui->lineEdit_2->text();

    out.open("output.txt", ios::in); //говорим в какой файл
    out.seekp(0, ios::end); //перемещаемся в конец файла

    out.write((char*) &value,sizeof(a)); //Пишем строку
    out<< endl; //говорим что конец строки
    out.close(); // закрываем файл
ui->lineEdit_2->clear();
ui->lineEdit_2->setFocus();
}
вот что-то написал, не работает.
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 12.05.2015, 14:28   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

QString это класс, а вы указатель на него кастует в чары
p51x вне форума Ответить с цитированием
Старый 12.05.2015, 14:46   #6
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

А как сделать?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 12.05.2015, 15:05   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
out.write((char*) value.c_str(),sizeof(a));
не?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.05.2015, 15:07   #8
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

ругается на c_str

а вот еще вопрос, записать в файл структуру и считать структуру из файла.

Написал код, не работает

Код:


struct zanatie
{
    short month,chislo,chas;


};

void MainWindow::on_pushButton_3_clicked()
{
    zanatie reports;
    ofstream fout;
    fout.open("reports.txt",ios::app|ios::binary);



    fout.seekp(0, ios::end);

    reports.chas=ui->lineEdit_5->text().toInt();
            reports.chislo=ui->lineEdit_4->text().toInt();
            reports.month=ui->lineEdit_3->text().toInt();


   fout.write((char*)&reports,sizeof(reports));

   fout<< endl; //говорим что конец строки


  fout.close(); // закрываем файл

  ui->textEdit->append(QString("%1\n%2\n%3\n").arg(reports.chas).arg(reports.chislo).arg(reports.month));

  ui->lineEdit_5->clear();
  ui->lineEdit_4->clear();
  ui->lineEdit_3->clear();

  ui->lineEdit_4->setFocus();
}



void MainWindow::on_pushButton_4_clicked()
{
    zanatie reports1;
    ifstream fin;
    fin.open("reports.txt",ios::in|ios::binary);
int i=1;

ui->textEdit->clear();
    while(!fin.eof())
    {fin.read((char*)&reports1,sizeof(reports1));


       ui->textEdit->append(QString("Запись №%4\n%1\n%2\n%3\n").arg(reports1.chas).
                            arg(reports1.chislo).arg(reports1.month).arg(i));
       i++;

    }

  fin.close(); // закрываем файл

}
from dark to light)

Последний раз редактировалось Stilet; 12.05.2015 в 15:18.
Алексей_2012 вне форума Ответить с цитированием
Старый 12.05.2015, 15:40   #9
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Где мои ошибки?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 12.05.2015, 15:56   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А почему ты не хочешь QTextStream использовать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление елементов в конец масива?с++ DIQUON Помощь студентам 1 19.12.2012 23:09
Программа на языке "Ассемблер" - ввод строки, анализ длины строки, добавление точки в конец строки Алексей_2012 Помощь студентам 1 05.04.2012 11:26
Добавление в конец списка saix Общие вопросы C/C++ 1 17.03.2012 21:27
Добавление в конец списка DBGrid foravastxxx БД в Delphi 13 27.02.2012 14:32
Добавление информации в конец jpeg файла HarleyDavidson Общие вопросы C/C++ 0 06.02.2010 15:32