在C/C++語言中,當我們調用fopen("filename","w")時,如果filename這個文件並不存在,則會創建這個文件,並打開。
但是在Qt中,如果我們想創建一個新文件,怎麼辦呢?
- QFile file("filename");
- file.open(QIODevice::WriteOnly);
這個時候如果filename不存在,Qt會創建這個文件嗎?不能,如果要創建這個新文件,還需要調用close(),這個時候filename纔會被創建,顯得有點奇怪,完整的代碼爲:
- QFile file("filename");
- file.open(QIODevice::WriteOnly);
- file.close();
//需要調用一次close,至此filename纔會被創建,之後重新打開文件,進行讀寫操作
- file.open(QIODeivce::ReadWrite);
- if ( file.isOpen() )
- {
- //read or write the file "filename"
- }