summaryrefslogtreecommitdiff
path: root/qmake/tools/qfile.cpp
Unidiff
Diffstat (limited to 'qmake/tools/qfile.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--qmake/tools/qfile.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/qmake/tools/qfile.cpp b/qmake/tools/qfile.cpp
index a578b49..c088b55 100644
--- a/qmake/tools/qfile.cpp
+++ b/qmake/tools/qfile.cpp
@@ -67,49 +67,49 @@ extern bool qt_file_access( const QString& fn, int t );
67 The file name is usually passed in the constructor but can be 67 The file name is usually passed in the constructor but can be
68 changed with setName(). You can check for a file's existence with 68 changed with setName(). You can check for a file's existence with
69 exists() and remove a file with remove(). 69 exists() and remove a file with remove().
70 70
71 The file is opened with open(), closed with close() and flushed 71 The file is opened with open(), closed with close() and flushed
72 with flush(). Data is usually read and written using QDataStream 72 with flush(). Data is usually read and written using QDataStream
73 or QTextStream, but you can read with readBlock() and readLine() 73 or QTextStream, but you can read with readBlock() and readLine()
74 and write with writeBlock(). QFile also supports getch(), 74 and write with writeBlock(). QFile also supports getch(),
75 ungetch() and putch(). 75 ungetch() and putch().
76 76
77 The size of the file is returned by size(). You can get the 77 The size of the file is returned by size(). You can get the
78 current file position or move to a new file position using the 78 current file position or move to a new file position using the
79 at() functions. If you've reached the end of the file, atEnd() 79 at() functions. If you've reached the end of the file, atEnd()
80 returns TRUE. The file handle is returned by handle(). 80 returns TRUE. The file handle is returned by handle().
81 81
82 Here is a code fragment that uses QTextStream to read a text file 82 Here is a code fragment that uses QTextStream to read a text file
83 line by line. It prints each line with a line number. 83 line by line. It prints each line with a line number.
84 \code 84 \code
85 QStringList lines; 85 QStringList lines;
86 QFile file( "file.txt" ); 86 QFile file( "file.txt" );
87 if ( file.open( IO_ReadOnly ) ) { 87 if ( file.open( IO_ReadOnly ) ) {
88 QTextStream stream( &file ); 88 QTextStream stream( &file );
89 QString line; 89 QString line;
90 int i = 1; 90 int i = 1;
91 while ( !stream.eof() ) { 91 while ( !stream.atEnd() ) {
92 line = stream.readLine(); // line of text excluding '\n' 92 line = stream.readLine(); // line of text excluding '\n'
93 printf( "%3d: %s\n", i++, line.latin1() ); 93 printf( "%3d: %s\n", i++, line.latin1() );
94 lines += line; 94 lines += line;
95 } 95 }
96 file.close(); 96 file.close();
97 } 97 }
98 \endcode 98 \endcode
99 99
100 Writing text is just as easy. The following example shows how to 100 Writing text is just as easy. The following example shows how to
101 write the data we read into the string list from the previous 101 write the data we read into the string list from the previous
102 example: 102 example:
103 \code 103 \code
104 QFile file( "file.txt" ); 104 QFile file( "file.txt" );
105 if ( file.open( IO_WriteOnly ) ) { 105 if ( file.open( IO_WriteOnly ) ) {
106 QTextStream stream( &file ); 106 QTextStream stream( &file );
107 for ( QStringList::Iterator it = lines.begin(); it != lines.end(); ++it ) 107 for ( QStringList::Iterator it = lines.begin(); it != lines.end(); ++it )
108 stream << *it << "\n"; 108 stream << *it << "\n";
109 file.close(); 109 file.close();
110 } 110 }
111 \endcode 111 \endcode
112 112
113 The QFileInfo class holds detailed information about a file, such 113 The QFileInfo class holds detailed information about a file, such
114 as access permissions, file dates and file types. 114 as access permissions, file dates and file types.
115 115
@@ -269,48 +269,49 @@ bool QFile::remove()
269# define OPEN_ASYNC O_NONBLOCK 269# define OPEN_ASYNC O_NONBLOCK
270#elif defined(O_NDELAY) 270#elif defined(O_NDELAY)
271# define HAS_ASYNC_FILEMODE 271# define HAS_ASYNC_FILEMODE
272# define OPEN_ASYNC O_NDELAY 272# define OPEN_ASYNC O_NDELAY
273#endif 273#endif
274 274
275/*! 275/*!
276 Flushes the file buffer to the disk. 276 Flushes the file buffer to the disk.
277 277
278 close() also flushes the file buffer. 278 close() also flushes the file buffer.
279*/ 279*/
280 280
281void QFile::flush() 281void QFile::flush()
282{ 282{
283 if ( isOpen() && fh ) // can only flush open/buffered 283 if ( isOpen() && fh ) // can only flush open/buffered
284 fflush( fh ); // file 284 fflush( fh ); // file
285} 285}
286 286
287/*! \reimp 287/*! \reimp
288 \fn QIODevice::Offset QFile::at() const 288 \fn QIODevice::Offset QFile::at() const
289*/ 289*/
290 290
291/*! 291/*!
292 Returns TRUE if the end of file has been reached; otherwise returns FALSE. 292 Returns TRUE if the end of file has been reached; otherwise returns FALSE.
293 If QFile has not been open()'d, then the behavior is undefined.
293 294
294 \sa size() 295 \sa size()
295*/ 296*/
296 297
297bool QFile::atEnd() const 298bool QFile::atEnd() const
298{ 299{
299 if ( !isOpen() ) { 300 if ( !isOpen() ) {
300#if defined(QT_CHECK_STATE) 301#if defined(QT_CHECK_STATE)
301 qWarning( "QFile::atEnd: File is not open" ); 302 qWarning( "QFile::atEnd: File is not open" );
302#endif 303#endif
303 return FALSE; 304 return FALSE;
304 } 305 }
305 if ( isDirectAccess() && !isTranslated() ) { 306 if ( isDirectAccess() && !isTranslated() ) {
306 if ( at() < length ) 307 if ( at() < length )
307 return FALSE; 308 return FALSE;
308 } 309 }
309 return QIODevice::atEnd(); 310 return QIODevice::atEnd();
310} 311}
311 312
312/*! 313/*!
313 Reads a line of text. 314 Reads a line of text.
314 315
315 Reads bytes from the file into the char* \a p, until end-of-line 316 Reads bytes from the file into the char* \a p, until end-of-line
316 or \a maxlen bytes have been read, whichever occurs first. Returns 317 or \a maxlen bytes have been read, whichever occurs first. Returns