cuốn sách gpt4 ai đã làm

Windows命令行重定向下的c++换行符

In lại Tác giả: Hồ Xil Thời gian cập nhật: 2023-11-01 14:40:59 26 4
mua khóa gpt4 Nike

Tôi thấy rằng chuyển hướng dòng lệnh của Windows tự động thay thế '\n' bằng '\r\n'. Có cách nào để tránh điều này? Bởi vì sau khi chuyển hướng stdout hoặc stderr, nếu bạn viết '\r\n' vào bảng điều khiển, bạn sẽ nhận được '\r\r\n' thay vì '\r\n'.

Cảm ơn bạn rất nhiều!

Bạn có thể thử một chương trình đơn giản:

fprintf(stdout,"Xin chào thế giới!\r\n");

Sau đó, bạn chạy nó với chuyển hướng:

demo 1>demo.log

Bằng cách sử dụng bất kỳ trình soạn thảo hex nào, bạn sẽ thấy rằng '\r\n' được biểu thị bằng '\r\r\n'.

gia hạn:

@ steve-jessop Tôi đã thực hiện việc này bằng cách sử dụng chế độ cài đặt Đã giải quyết vấn đề, điều này sẽ buộc thiết bị xuất chuẩn sử dụng O_BINARY người mẫu. Vì vậy, luồng sẽ không \N dịch sang \r\n.

Cảm ơn bạn rất nhiều!

câu trả lời hay nhất

Cách tránh là không viết"Xin chào thế giới!\r\n" . fprintf(stdout,"Xin chào thế giới!\n");hoặc std::cout << "Xin chào thế giới!" << std::endl;Thế là đủ rồi.

Đây không phải là chuyển hướng dòng lệnh hoặc thiết bị xuất chuẩn Duy nhất cho bất kỳ bộ mô tả tệp nào được mở ở chế độ ký tự (ngược lại với chế độ nhị phân).

Về dòng mới c++ trong chuyển hướng dòng lệnh của Windows, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/6891252/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress