Tôi đang cố gắng gửi mảng có kích thước [2 x N] gấp đôi tệp văn bản lớn bằng lệnh fprintf()
. Tôi gặp sự cố trong đó fprintf()
không nhận ra lệnh dòng mới (\n
) hoặc lệnh trả về vận chuyển (\r
). Mã tôi đang sử dụng làfprintf không in dòng mới
fid = fopen([Image.Dir,'CtlPts_',Image.Files{k},'.txt'],'w');
fprintf(fid,'%.4f\t%.4f\n',control_points{k});
fclose(fid);
nơi dữ liệu tôi đang cố gắng in nằm trong ô control_points{k}
.
Tab được in tốt, nhưng mọi thứ trong tệp văn bản được in trên một dòng, vì vậy đây là lý do tại sao tôi giả định rằng nó bỏ qua ký tự dòng mới của tôi.
Có điều gì sai với cú pháp của tôi mà tôi không thấy?
bạn đã hoàn thành một tệp của tệp chưa? Tôi biết rằng trên nhiều hệ thống, \ n là không đủ để tạo ra những gì bạn đang yêu cầu (và như vậy, có thể bạn phải làm \ r \ n) – KevinDTimm
@KevinDTimm Tôi không chắc chắn về việc tạo một tập tin là gì (bạn có thể giải thích trong một định dạng câu trả lời) nhưng sử dụng \ r \ n làm việc. Đăng câu trả lời này và tôi sẽ chọn câu trả lời. –
lý do cho kết xuất là để xác minh rằng tệp thực sự chứa \ n. Nếu nó (có khả năng) thì phần thứ hai của bình luận/câu trả lời của tôi sẽ được áp dụng. – KevinDTimm