Printf stdout руу бичдэг үү?
Printf stdout руу бичдэг үү?

Видео: Printf stdout руу бичдэг үү?

Видео: Printf stdout руу бичдэг үү?
Видео: #Backend, Максим Чечель, Инструментирование Go кода 2024, Арваннэгдүгээр
Anonim

printf () - болон puts() гэх мэт бусад "хэвлэх" функцууд - стандарт гаралт руу бичих , мөн гэж нэрлэдэг stdout эсвэл эцэст нь Файлын тодорхойлогч 1.fprintf(stderr, …) - үүнийг бичнэ. гаралт стандарт алдаа руу гаралт , stderr эсвэл File Descriptor2 гэгддэг.

Үүний дагуу стандарт гаралт гэж юу вэ?

Стандарт гаралт , заримдаа товчилсон байдаг stdout , Linux болон бусад Unix-тэй төстэй үйлдлийн системүүдийн командын мөрийн программууд (жишээ нь, бүх текст горимын програмууд)-аар бүтээгдсэн стандартчилагдсан өгөгдлийн урсгалыг хэлнэ. Учир нь Стандарт Урсгалууд нь энгийн текст бөгөөд тэдгээр нь тодорхой хүний хувьд унших боломжтой байдаг.

Дараа нь асуулт нь printf ямар системийн дуудлагыг ашигладаг вэ? printf () нь хэрэглэгчийн орон зайд хамаарах API эсвэл интерфейсүүдийн нэг юм залгах Си номын сангийн функцууд. printf () үнэндээ ашигладаг бичих() системийн дуудлага . The write() системийн дуудлага нь гаралт руу өгөгдөл илгээх үүрэгтэй.

Үүнийг анхаарч үзвэл stdin болон stdout гэж юу вэ?

Хэрэв миний ойлголт зөв бол, stdin Програм нь тухайн үйл явцад даалгаврыг ажиллуулах хүсэлтдээ бичдэг файл юм. stdout Цөм нь гаралтаа бичдэг файл ба түүнээс мэдээлэл авахыг хүссэн процесс, stderr нь бүх үл хамаарах зүйлүүдийг оруулсан файл юм.

Стандарт оролт, гаралт гэж юу вэ?

The стандарт оролт төхөөрөмж гэж бас нэрлэдэг stdin , ямар төхөөрөмж юм оролт систем рүү авав. The стандарт гаралт asstdout гэж нэрлэдэг төхөөрөмж нь холбогдох төхөөрөмж юм гаралт системээс. Энэ нь ихэвчлэн дэлгэц боловч та дахин чиглүүлэх боломжтой гаралт цуваа порт эсвэл файл руу.

Зөвлөмж болгож буй: