2010-08-14 36 views
5

Tôi đang cố mở tệp và viết một số dữ liệu văn bản vào đó.QFile mở tập tin để viết không thành công

QFile out(":/test.txt"); 
if (!out.open(QIODevice::ReadWrite)) { 
    QMessageBox msgBox; 
    msgBox.setText(out.errorString()); 
    msgBox.exec(); 
    return; 
} 

Nhưng không thành công với "Lỗi không xác định". (Qt 4.6, Wnidows XP SP3)

+0

Nếu bạn chỉ muốn viết, hãy sử dụng WriteOnly. (Tuy nhiên, điều đó sẽ không hoạt động đối với các tệp tài nguyên, như Roku đã giải thích). –

Trả lời

8

": /test.txt" là một cái tên của một resource file nhúng để thực thi và bạn không thể chỉnh sửa nó. Thay đổi tên tệp, ví dụ thành "C: /test.txt".

+0

Một số thông tin cũng có trên [http://www.developer.nokia.com/Community/Wiki/How_to_write_data_to_a_file_in_Qt](http://www.developer.nokia.com/Community/Wiki/How_to_write_data_to_a_file_in_Qt). – meolic

0

Vấn đề là ở dòng này:

QFile ra (":/test.txt");

Đường dẫn tệp sai. Để tạo tệp trong cùng thư mục với tệp thi hành, hãy thử theo cách này:

QFile out ("./ test.txt");

Edit: chính tả

+1

Đó không phải là thư mục giống như thư mục hoạt động, mà là thư mục làm việc. –

1

Bạn cần thay đổi nhà xây dựng lập luận QFile bạn

QFile out(":/test.txt");

đến một con đường đúng khi cho rằng có thể là

QFile out("./test.txt");

hoặc

QFile out("C:/test.txt");

Các vấn đề liên quan