Adakah printf menulis kepada stdout?
Adakah printf menulis kepada stdout?

Video: Adakah printf menulis kepada stdout?

Video: Adakah printf menulis kepada stdout?
Video: Section 4 2024, November
Anonim

printf () - dan beberapa fungsi "cetakan" lain seperti puts() - tulis kepada output standard , juga dikenali sebagai stdout atau akhirnya Deskriptor fail 1.fprintf(stderr, …) - menulisnya pengeluaran kepada standarderror pengeluaran , juga dikenali sebagai stderr atau File Descriptor2.

Sejajar dengan itu, apakah output standard?

Keluaran standard , kadang-kadang disingkatkan stdout , merujuk kepada aliran data piawai yang dihasilkan oleh program baris arahan (iaitu, program mod semua teks) dalam Linux dan sistem pengendalian seperti Unix yang lain. Kerana ia standard strim adalah teks biasa, ia mengikut definisi boleh dibaca manusia.

Seterusnya, persoalannya ialah, apakah panggilan sistem yang digunakan oleh printf? printf () ialah salah satu API atau antara muka yang terdedah kepada ruang pengguna panggilan fungsi dari perpustakaan C. printf () sebenarnya kegunaan tulis() panggilan sistem . Tulis() panggilan sistem sebenarnya bertanggungjawab untuk menghantar data kepada output.

Memandangkan perkara ini dilihat, apakah itu stdin dan stdout?

Jika pemahaman saya betul, stdin ialah fail di mana program menulis ke dalam permintaannya untuk menjalankan tugas dalam proses, stdout ialah fail di mana kernel menulis outputnya dan proses memintanya mengakses maklumat daripadanya, dan stderr ialah fail di mana semua pengecualian dimasukkan.

Apakah input dan output standard?

The input standard peranti, juga dirujuk sebagai stdin , ialah peranti dari mana input kepada sistem yang diambil. The keluaran standard peranti, juga dirujuk kepada asstdout, ialah peranti yang digunakan pengeluaran daripada sistem issent. Biasanya ini ialah paparan, tetapi anda boleh mengubah hala pengeluaran ke port bersiri atau fail.

Disyorkan: