Qt leer y escribir archivos de texto

Leer y escribir archivos en los archivos binarios se pueden utilizar clase QFile, Qstream
leer y se recomienda escribir archivos de texto de clase QTextStream que manipula los archivos más conveniente.
Al abrir un archivo, es necesario abrir los parámetros de archivo Especifica el modo:

 

modo valor descripción
QIODevice :: NotOpen 0x0000 No abra
QIODevice :: ReadOnly 0x0001 Sólo lectura
QIODevice :: WriteOnly 0x0002 Sólo escritura modo, si no existe el archivo se creará automáticamente un archivo
QIODevice :: ReadWrite Sólo lectura | Escribir solamente La lectura y la escritura
QIODevice :: Anexar 0x0004 Este patrón indica que todos los datos escritos al final del archivo
QIODevice :: Truncar 0x0008 Antes de abrir un archivo, el archivo se trunca, todos los datos se perderán archivo original
QIODevice :: texto 0x0010 Leer, fin de la bandera de archivos se convertirá a '\ n'; el momento de escribir, fin de la bandera archivo se volvió final para la codificación local, como el final de la Win32 poco '\ r \ n'
QIODevice :: sin búfer 0x0020 No caché

 

 

QIODevice :: Texto utilizado al leer y escribir un archivo de texto, de modo que los saltos de línea se pueden convertir automáticamente a salto de línea local.


(1) escribe en un archivo de texto

1 QFile f ( " c: \\ test.txt " );  
2  si (! F.open (QIODevice :: WriteOnly | QIODevice :: texto))  
 3  {  
 4      tribunal << " Abrir fallidos. " << endl;  
5      de retorno - 1 ;  
6  }  
 7    
8 QTextStream txtOutput (y f);  
9 QString s1 ( " 123 " );  
10 quint32 n1 ( 123 );  
11    
12 txtOutput << s1 << endl;  
13txtOutput << n1 << endl;  
14    
15 f.close ();

Escribir el contenido del archivo como:
123
123


(2) leer un archivo de texto

 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

 

QTextStream的流操作符

Supongo que te gusta

Origin www.cnblogs.com/ybqjymy/p/12449222.html
Recomendado
Clasificación