Có chức năng đa nền tảng trong Qt tương đương với chức năng MoveFile trong Windows và lệnh mv trong Linux không?Cách di chuyển tệp trong Qt?
Trả lời
Chắc chắn, QDir::rename()
theo truyền thống cũ của Unix/POSIX để gọi tên này.
Điều này có ý nghĩa nếu bạn nghĩ về tệp có đường dẫn đầy đủ: các nút in cơ bản chỉ được chỉ định một nhãn đường dẫn/tệp khác.
Bạn sẽ sử dụng QDir::rename() nhưng hãy cẩn thận với các trường hợp đặc biệt khi rename()
có thể thất bại:
Trên hầu hết các hệ thống tập tin,
rename()
không chỉ khioldName
không tồn tại, nếunewName
vàoldName
không nằm trong cùng một phân vùng hoặc nếu tệp có tên là đã tồn tại. Tuy nhiên, cũng có các lý do khác tại saorename()
có thể không thành công. Ví dụ: tại số ít nhất một hệ thống tệprename()
không thành công nếunewName
trỏ đến tệp đang mở.
QUrlOperator::copy() là một giải pháp thay thế cho QDir :: rename() cũng có thể phù hợp với bạn.
Có vẻ tốt, nhưng dường như bị loại khỏi qt4: Lớp QUrlOperator không còn là một phần của API Qt công cộng nữa. Nó đã được đổi tên thành Q3UrlOperator và chuyển sang Qt3Support. Trong các ứng dụng Qt 4, bạn có thể sử dụng các lớp như QFtp và QHttp trực tiếp để thực hiện các tác vụ liên quan đến tệp trên máy chủ từ xa. Tôi không chắc mình có nên sử dụng nó hay không. – sashoalm
- 1. Di chuyển thư mục bằng cách sử dụng Qt
- 2. Cách di chuyển tệp trong Python
- 3. Xử lý bài đăng trong ffmpeg để di chuyển 'moov atom' trong tệp MP4 (qt-faststart)
- 4. Di chuyển tệp trong Vim
- 5. Di chuyển tệp trong Xcode
- 6. FtpWebRequest di chuyển tệp
- 7. Hợp nhất các tệp di chuyển db/di chuyển
- 8. Làm cách nào để di chuyển tệp trong node.js?
- 9. Qt - Di chuyển cửa sổ không khung (chậm sơn lại?)
- 10. Làm cách nào để di chuyển biểu định kiểu Qt sang tệp bên ngoài nhưng giữ cho tệp được biên dịch trong tài nguyên?
- 11. Di chuyển tệp từ dòng lệnh
- 12. Di chuyển các tệp theo python
- 13. Cách di chuyển tệp CSV sang Sqlite3 (hoặc MySQL)? - Python
- 14. Tạo tệp di chuyển từ schema.rb
- 15. Làm cho các tab có thể di chuyển được trong Qt
- 16. Di chuyển phần sang tệp mới trong vim
- 17. Đổi tên và di chuyển tệp trong Bash hoặc Perl
- 18. Di chuyển nhiều tệp trong cùng một nhóm
- 19. Di chuyển tệp trong MSBuild bằng đường dẫn tương đối
- 20. Di chuyển tệp vào Amazon S3 Trong khi giữ URL
- 21. Di chuyển số lượng lớn tệp
- 22. Cách di chuyển nhiều thư trong mutt
- 23. Cách di chuyển một dacpac
- 24. Cách di chuyển từ từ sang/di chuyển sang TypeScript trong hệ thống JavaScript hiện có
- 25. Thao tác Di chuyển/Sao chép Tệp trong Java
- 26. t.belongs_to trong di chuyển
- 27. QFile :: bản sao tạo tạo bản sao của tệp hoặc di chuyển nội dung từ tệp này sang tệp khác?
- 28. Chuyển đổi WCHAR thành QString trong Qt
- 29. Kéo/thả Qt: không thể di chuyển khi sao chép được bật (Ubuntu Gnome)
- 30. Lấy MouseMoveEvents trong Qt
Ngoài ra còn có QFile :: rename() có thể được sử dụng. – dave