반응형
# 파일 입출력 , 파일 변화 감지 h
1
2 |
#include <qfile.h>
#include <QFileSystemWatcher.h> |
cs |
▶ 파일 존재 여부 체크
1 |
QFile::exists(path) |
cs |
※ true = exists
▶ 파일 입출력
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 |
void MainWindow::Read(QString path)
{
QFile file(path); // path 형식 "C://dir//hi.txt"
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
qDebug() << "not open file";
return;
} else {
QTextStream stream(&file);
qDebug() << stream.readAll();
file.close();
}
}
void MainWindow::Write(QString path , QString Data)
{
QFile file(path);
if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
{
qDebug() << "not open file";
return;
} else {
QTextStream out(&file);
out << Data;
}
} |
cs |
▶ 파일 변화 감지
1
2
3 |
QFileSystemWatcher *watcher = new QFileSystemWatcher;
watcher->addPath(path);
QObject::connect(watcher,SIGNAL(fileChanged(QString)),this,SLOT(showModified(QString))); |
cs |
1
2
3
4
5 |
void MainWindow::showModified(const QString &str)
{
// 파라미터를 사용하지 않을 때 Q_UNUSED(str);
qDebug() << str << "파일에 접근하였습니다.";
} |
cs |
※ path 경로에 해당하는 파일을 읽거나 수정하면 슬롯이 열린다.
▶ 파일 사이즈와 포인터 변경
1
2 |
QFile::resize(path,qint64(0));
QTextStream::seek(0); |
cs |
Line
1 - resize : 파일 사이즈 0으로 설정
2 - seek : 파일포인터 위치 조정( 텍스트 입력 포인터를 처음(0)으로 조정 )
▶ 파일 , 폴더 경로 얻기 - QFileDialog
1 2 3 4 5 6 7 8 9 | // 파일 열기 , 저장 QString Open_File_Path = QFileDialog::getOpenFileName(0,"Dialog title","Openfile.txt"); QString Save_File_Path = QFileDialog::getSaveFileName(0,"Dialog title","Savefile.txt"); // 디렉토리 열기 QString Open_Directory_Path = QFileDialog::getExistingDirectory(this, tr("Open Directory"), "/home", QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); | cs |
반응형
'프로그래밍 > 시스템' 카테고리의 다른 글
C++ Qt 메시지박스 (0) | 2018.03.15 |
---|---|
C++ Qt 정규식 (0) | 2018.03.15 |
C++ Qt TreeWidget (0) | 2018.03.12 |
C++ Qt 간단한 로그인 폼 만들기 (0) | 2018.03.12 |
jquery 강제 키 입력 트리거 (0) | 2017.12.19 |