바이너리 파일의 읽기 및 쓰기 파일 Qfile을 클래스를 사용할 수 있습니다 QStream는
그 조작하는 파일보다 편리 QTextStream 클래스를 읽기 및 쓰기 텍스트 파일을 권장합니다.
파일을 열 때, 파일 매개 변수 지정을 모드를 열어야합니다 :
모드 | 값 | 기술 |
QIODevice :: NotOpen | 0000 | 열지 마십시오 |
QIODevice : 읽기 전용 | 0001 | 읽기 전용 |
QIODevice : 쓰기 전용 | 0x0002 | 쓰기 전용 모드는 파일이 존재하지 않는 경우 자동으로 파일을 생성합니다 |
QIODevice :: READWRITE | 읽기 전용 | 쓰기 전용 | 읽기 및 쓰기 |
QIODevice :: 추가] | 에 0x0004 | 이 패턴은 모든 데이터가 파일의 끝에 기록 된 것을 나타냅니다 |
QIODevice :: 자르기 | 0x0008에 | 파일을 열기 전에 파일이 잘립니다, 모든 데이터는 원본 파일을 잃게됩니다 |
QIODevice :: 텍스트 | 0x0010 | 판독은 파일 플래그 단부로 변환한다 '\ n'; 기입의 시간은 파일 플래그의 단부는 비트는 Win32의 '\ R \ n'끝으로, 로컬 인코딩 단부 설정 될 |
QIODevice :: 버퍼링 | 0x0020 | 캐시하지 마십시오 |
그 줄 바꿈이 자동으로 지역 개행 문자로 변환 할 수 있도록, 읽기, 텍스트 파일을 기록 할 때 QIODevice는 :: 텍스트 사용.
(1) 텍스트 파일에 기록
1 Qfile을 F ( " C : \\ TEST.TXT " );
2 경우 (! f.open (QIODevice : 쓰기 전용은 | QIODevice :: 텍스트))
3 {
4 cout과는 << " 열기에 실패했습니다. " << endl의;
5 반환 - 1 ;
6 }
7
8 QTextStream txtOutput ( F);
9 QString S1 ( " 123 " );
10 quint32 N1 ( 123 );
11
12 txtOutput << S1 << ENDL;
(13)<< txtOutput N1 << ENDL;
14
15 f.close ();
로 파일의 내용을 쓰기 :
123
(123)
(2) 텍스트 파일을 읽을 수
1 QFile f("c:\\test.txt");
2 if(!f.open(QIODevice::ReadOnly | QIODevice::Text))
3 {
4 cout << "Open failed." << endl;
5 return -1;
6 }
7
8 QTextStream txtInput(&f);
9 QString lineStr;
10 while(!txtInput.atEnd())
11 {
12 lineStr = txtInput.readLine();
13 cout << lineStr << endl;
14 }
15
16 f.close();
屏幕打印的内容为:
123
123
123
QTextStream的流操作符