Trang Chủ Tài chính Cá nhân ĐáNh dấu ios Flags trong C + + - núm vú

ĐáNh dấu ios Flags trong C + + - núm vú

Video: How to green the world's deserts and reverse climate change | Allan Savory 2025

Video: How to green the world's deserts and reverse climate change | Allan Savory 2025
Anonim

Khi bạn mở một tệp tin bằng cách xây dựng một cá thể dòng chảy hoặc ifstream, bạn có thể sửa đổi cách mở tập tin bằng cách cung cấp cái được gọi là cờ. Về mặt máy tính, cờ chỉ đơn giản là một mặt hàng nhỏ có sự có mặt hoặc thiếu hiện diện nói lên một chức năng làm thế nào để làm điều gì đó. Với các lớp thượng lưu và các luồng ifstream, hàm được đề cập là hàm tạo. Một lá cờ trông giống như ios:: app nếu bạn đang sử dụng một trình biên dịch không tương thích hoàn toàn với ANSI hoặc trông giống như ios_base:: app nếu bạn đang sử dụng một trình duyệt hoàn toàn tương thích ANSI. Cờ cụ thể này có nghĩa là bạn muốn ghi vào một tệp, nhưng bạn muốn nối lại với bất kỳ dữ liệu hiện có nào có thể đã có trong một tệp tin. Bạn cung cấp cờ này như một đối số của hàm tạo cho dòng chảy, như trong một trong hai ví dụ sau:

outstream trong dòng ("AppendableFile.txt", ios:: app); ofstream outfile ("AppendableFile. txt", ios_base:: app);

Bạn có thể thấy rằng cờ được thêm như là một tham số thứ hai để các nhà xây dựng. Các cờ khác tồn tại bên cạnh ứng dụng và bạn có thể kết hợp chúng bằng cách sử dụng toán tử hoặc, |. Ví dụ, một lá cờ là ios:: nocreate (không được bao gồm trong các trình biên dịch mới hơn).
Điều này có nghĩa là "chỉ mở tập tin nếu nó đã tồn tại. "Nghĩa là, không tạo tập tin nếu nó không tồn tại. (Nhớ rằng, thestream tạo ra một tệp tin nếu nó chưa tồn tại.) Nếu tập tin không tồn tại, việc mở sẽ thất bại, và khi bạn gọi fail, bạn sẽ nhận được một sự thật

Các ios::: nocreate cờ là tiện dụng với ios:: app. Cùng nhau, chúng có nghĩa là

mở một tập tin hiện có và nối với nó

. Đó là, hai cùng sẽ làm việc chỉ khi tập tin đã tồn tại, và cuộc gọi sẽ mở tập tin cho một hoạt động nối thêm. Nếu tập tin không tồn tại, tập tin sẽ không được tạo ra. Đây là một cuộc gọi mẫu: ofstream outfile ("… / MyFile. Txt", ios:: app | ios:: nocreate); nếu (outfile. thất bại ()) {cout << "không thể mở tập tin!" << endl; return 0;} outfile << "hi" << endl; outfile. gần(); Nếu MyFile. txt không tồn tại khi bạn chạy mã này, bạn sẽ nhận được thông báo Không thể mở tệp! Nhưng nếu MyFile. txt hiện tồn tại, ứng dụng mở nó, nối chuỗi Hi to nó, và cuối cùng đóng nó.


Nó chỉ ra rằng các lá cờ nocreate không có sẵn trong thư viện chuẩn mới. Bummer. Do đó mã chỉ hoạt động nếu bạn đang sử dụng một phiên bản cũ hơn của thư viện. Khi sử dụng trình biên dịch Code:: Blocks, bạn sẽ thấy thông báo lỗi sau:

lỗi: 'nocreate' không phải là thành viên của '; std:: ios '

Tuy nhiên, bạn sẽ muốn kiểm tra xem trình biên dịch cụ thể của bạn có chứa một thư viện hỗ trợ ios:: nocreate.Trình biên dịch của bạn có thể hỗ trợ nó anyway, ngay cả khi nó bao gồm các Thư viện Chuẩn mới. Là một thay thế cho ios:: nocreate, bạn có thể sử dụng mã sau đây (tìm thấy trong ví dụ FileOutput02):
ifstream infile ("… / MyFile. Txt"); if (infile. failed ()) {cout << "không thể mở tập tin!" << endl; trở lại 0;} infile. gần(); ofstream outfile ("… / MyFile. txt", ios:: app); outfile << "hi" << endl; outfile. gần();

Trong trường hợp này, bạn bắt đầu bằng cách cố gắng mở tệp để đọc. Nếu tệp không tồn tại, bạn không thể đọc nó và mã thoát với thông báo lỗi. Nếu mã có thể đọc được từ tệp, tệp sẽ mở lại tệp để ghi. Đây là một workaround rườm rà, nhưng nó hoạt động.


Sau đây là danh sách các cờ có sẵn. Trước tiên, đây là những cái cho ios, trong trường hợp bạn đang sử dụng một trình biên dịch không phải là hoàn toàn ANSI:

ios:: app: Cờ này có nghĩa là bạn muốn mở một tập tin và nối vào nó.

ios:: in: Bao gồm cờ này nếu bạn muốn đọc từ một tệp.

  • ios:: out

  • :

  • Bao gồm cờ này nếu bạn muốn ghi vào một tệp.

    ios:: trunc

    :
  • Bao gồm cờ này nếu bạn muốn xoá nội dung của tệp tin trước khi ghi vào đó. Đó là sự đối lập của phụ thêm, và nó cũng là mặc định nếu bạn không đặc biệt bao gồm ios:: app. . ios:: nocreate

    :
  • ios:: noreplace :

  • Cờ này là đối lập của nocreate. Sử dụng cờ này nếu bạn chỉ muốn tạo một tệp mới. Nếu bạn sử dụng cờ này và tập tin đã tồn tại, tệp sẽ không mở, và lỗi đó sẽ trả về true .

    Trình biên dịch tuân thủ ANSI không hỗ trợ cờ ios:: noreplace. Trong trường hợp này, bạn có thể sử dụng đối ngược với sửa lỗi cho ios: nocreate flag, như được hiển thị ở đây (và tìm thấy trong ví dụ FileOutput03):

    ifstream infile ("… / MyFile. Txt"); nếu (! infile. failed ()) {cout << "tập tin đã tồn tại!" << endl; trở lại 0;} infile. gần(); ofstream outfile ("… / MyFile. txt"); outfile << "hi" << endl; outfile. gần();

Trong trường hợp này, mã cố gắng mở tập tin để đọc. Nếu tệp tồn tại, mã hiển thị thông báo lỗi và thoát. Nếu không, mã tạo ra một tệp mới và ghi vào đó.

Các cờ sau có sẵn trong trình biên dịch hoàn toàn ANSI!

ios:: ate: Sử dụng cờ này để đi tới cuối của tệp tin sau khi bạn mở nó. Thông thường, bạn sử dụng cờ này khi bạn muốn nối thêm dữ liệu vào tệp.

ios_base:: nhị phân: Sử dụng cờ này để xác định rằng tệp bạn đang mở sẽ giữ dữ liệu nhị phân - nghĩa là dữ liệu không đại diện cho chuỗi ký tự.
  • ios_base:: in: Xác định cờ này khi bạn muốn đọc từ một tệp.

  • ios_base:: out: Bao gồm cờ này khi bạn muốn viết thư cho một tập tin.

    ios_base:: trunc: Bao gồm cờ này nếu bạn muốn xóa sạch nội dung của một tập tin trước khi viết nó.
  • ios_base:: app: Bao gồm cờ này nếu bạn muốn nối vào tệp. Đối lập với trunc - nghĩa là thông tin đã có trong tệp khi bạn mở nó sẽ ở lại đó.

  • Tại sao bạn cần một lá cờ và cờ ra? Dường như máy tính nên biết liệu bạn đang viết thư cho một tập tin hay đọc nó, tùy thuộc vào việc bạn sử dụng dòng chảy hay không. Câu trả lời cho lý do tại sao bạn có một lá cờ và một lá cờ ra là các lớp khác có sẵn bên cạnh dòng nước và dòng chảy.

Các trình biên dịch chưa hoàn toàn hỗ trợ các tiêu chuẩn ANSI có một lớp chung chung trong thư viện của họ được gọi là fstream. Các trình biên dịch tuân thủ ANSI có trong các thư viện của họ một lớp mẫu được gọi là basic_filebuf và một lớp được gọi là filebuf. Nếu bạn sử dụng các lớp này, bạn có thể sử dụng các cờ trong và ngoài.
ĐáNh dấu ios Flags trong C + + - núm vú

Lựa chọn của người biên tập

Làm thế nào để Lưu tệp vào OneDrive từ iPad của bạn - núm vú

Làm thế nào để Lưu tệp vào OneDrive từ iPad của bạn - núm vú

Chia sẻ là chăm sóc và bạn có thể lưu tệp Word, Excel hoặc PowerPoint vào iPad hoặc máy tính để bàn của bạn trực tiếp vào thư mục OneDrive. Sau khi tệp tin trên OneDrive, những người khác có quyền truy cập vào thư mục trên OneDrive có thể mở tệp. Họ có thể mở nó trong Văn phòng cho ứng dụng iPad, Office ...

Làm thế nào để liên kết đến một tập tin cục bộ trong Office 2011 for Mac - núm vú

Làm thế nào để liên kết đến một tập tin cục bộ trong Office 2011 for Mac - núm vú

Một trong các công cụ hữu ích nhất trong Office 2011 cho mac là khả năng tạo siêu liên kết đến bất cứ đâu. Bạn có thể liên kết đến bất kỳ tập tin nào trên máy tính của bạn; những tập tin này là các tập tin địa phương. Để kết nối với các tệp cục bộ, bạn có thể sử dụng hai loại liên kết: Tuyệt đối: Loại liên kết này có chứa ...

Cách đăng nhập vào OneDrive từ phần mềm

Cách đăng nhập vào OneDrive từ phần mềm

OneDrive là một thành phần của Office 365, Dịch vụ trực tuyến của Microsoft. Trước khi bạn có thể lưu trữ, chia sẻ, hoặc đồng chỉnh sửa các tập tin trên OneDrive từ iPad, bạn phải đăng nhập vào OneDrive. Đọc tiếp để tìm hiểu cách đăng nhập từ Office cho iPad và đăng nhập từ một trình duyệt web. OneDrive ...

Lựa chọn của người biên tập

Cách sắp xếp các tệp phương tiện cho WordPress Blog của bạn - núm vú

Cách sắp xếp các tệp phương tiện cho WordPress Blog của bạn - núm vú

Nếu bạn đã chạy blog của bạn trong bất kỳ khoảng thời gian nào, bạn có thể dễ dàng quên những tệp bạn đã tải lên bằng trình tải lên WordPress. Thư viện Truyền thông WordPress giúp bạn dễ dàng và dễ dàng khám phá những tệp nào trong thư mục Uploads của bạn. Để tìm tệp hình ảnh, video hoặc âm thanh mà bạn đã tải lên bằng cách sử dụng <

Làm thế nào để tối ưu Blog WordPress của bạn cho Công cụ Tìm kiếm - núm vú

Làm thế nào để tối ưu Blog WordPress của bạn cho Công cụ Tìm kiếm - núm vú

Bạn muốn mọi người tìm thấy blog WordPress của bạn, nếu không bạn sẽ không dành thời gian để viết nó. WordPress được trang bị để tạo ra một môi trường thân thiện với các công cụ tìm kiếm, cho phép họ điều hướng dễ dàng thông qua các kho lưu trữ, các loại và các trang của bạn. WordPress cung cấp môi trường này với một cơ sở mã sạch, nội dung dễ dàng cập nhật thông qua ...

Làm thế nào để Thực hiện Từ khoá trong trang WordPress của bạn với Permalinks

Làm thế nào để Thực hiện Từ khoá trong trang WordPress của bạn với Permalinks

Cho thứ hạng cao hơn cho trang web WordPress của bạn, sử dụng các liên kết tùy chỉnh với từ khoá. Bằng cách sử dụng các liên kết tuỳ chỉnh, bạn tự động chèn từ khoá vào URL của các bài đăng và trang của bạn, cho phép các công cụ tìm kiếm bao gồm các bài đăng và trang đó trong cơ sở dữ liệu thông tin về những chủ đề đó. Nếu trang web của bạn được lưu trữ bởi nhà cung cấp có

Lựa chọn của người biên tập

Làm thế nào để gửi chú thích để chia sẻ chúng trong OneNote 2013 - núm vú

Làm thế nào để gửi chú thích để chia sẻ chúng trong OneNote 2013 - núm vú

Một trong những phương pháp đơn giản chia sẻ một ghi chú với OneNote 2013 bằng cách gửi nó dưới dạng tệp tin tới người nhận e-mail hoặc thậm chí với Microsoft Word hoặc blog của bạn. Để gửi lưu ý hiện tại dưới dạng tệp tin, hãy làm theo các bước sau: Mở ghi chú mà bạn muốn chia sẻ trong OneNote 2013 và chọn <...

Làm thế nào để Đồng bộ hóa Ghi chú trong OneNote 2013 - núm vú

Làm thế nào để Đồng bộ hóa Ghi chú trong OneNote 2013 - núm vú

OneNote 2013 khoảng cách bản thân từ khái niệm toàn bộ các tệp lưu thủ công trong lợi của đồng bộ hóa chúng. Bạn có thể đồng bộ tập tin tự động hoặc thủ công. Điều này cho phép bạn tự do khi quản lý các tệp của mình. Làm thế nào để đồng bộ tự động trong OneNote OneNote tự động lưu các ghi chú của bạn mỗi khi bạn thực hiện bất kỳ thay đổi ở tất cả để một máy tính xách tay, phần, ...

Cách Quản lý Máy tính xách tay OneNote 2013 với SkyDrive - núm vú

Cách Quản lý Máy tính xách tay OneNote 2013 với SkyDrive - núm vú

SkyDrive có thể truy cập qua đám mây, 't có một ứng dụng SkyDrive được cài đặt trên thiết bị. Điều này giúp bạn dễ dàng quản lý máy tính xách tay OneNote 2013 từ bất kỳ thiết bị nào có truy cập internet. Cách quản lý máy tính xách tay với SkyDrive trên web Bạn có thể truy cập dịch vụ từ bất cứ thiết bị nào bạn đang sử dụng miễn là nó hỗ trợ