Wikipedia for Schools in Portuguese is available here
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Fluxos padrão - Wikipédia

Fluxos padrão

Origem: Wikipédia, a enciclopédia livre.

Os fluxos padrão para entrada, saída e erro
Ampliar
Os fluxos padrão para entrada, saída e erro

Os fluxos padrão são canais de I/O entre um programa de computador e o seu ambiente (tipicamente um terminal de texto) que são pré-conectados no início da execução. Estas conexões padrão são disponibilizadas nos sistemas operacionais do tipo Unix, ambientes de execução das linguagens C e C++ e seus sucessores. As três conexões de I/O são chamadas de entrada padrão (do inglês standard input), saída padrão (do inglês standard output) e erro padrão (do inglês stardard error).

Índice

[editar] Histórico

Na maioria dos sistemas operacionais que precederam o Unix, os programas tinham que conectar explicitamente com a saída e entrada de dados apropriada. Em muitos destes sistemas isto podia ser um grande desafio de programação devido às diferentes características de cada sistema operacional na implementação de algumas operações, como a obtenção das configurações de ambiente, acesso à tabela local de arquivos, determinação do significado dos dados, e a manipulação correta de dispositivos periféricos, como um leitor de cartão, fita magnética, disco rígido ou terminal interativo.

O Unix trouxe uma série de inovações, como o advento dos dispositivos abstratos. Não era mais necessário ao programa conhecer ou se preocupar com o tipo de dispositivo que faria conexão. Os sistemas operacionais mais antigos deixavam com o programador a responsabilidade de manipular estruturas de registros, semântica de dados (normalmente não ortogonais) e controle de dispositivos. O Unix eliminou a complexidade com o conceito de fluxo de dados: uma sequência ordenada de bytes que podem ser lidos até o final do arquivo. Um programa também pode escrever os bytes que precisa sem declarar quantos serão, ou como eles serão agrupados.

Outra inovação do Unix foi associar automaticamente a entrada/saída a um programa, por padrão. O programa (e o programador) nada fazem para estabelecer a entrada/saída para um programa típico (a não ser que o programa escolha algum outro paradigma). Em contraste, nos sistemas operacionais anteriores, quando se desejava estabelecer conexões era necessário lidar com a complexidade das linguagens de controle de job, ou o programa criava estas conexões diretamente no seu código.

Desde que o Unix disponibilizou os fluxos padrão, o ambiente da linguagem C no Unix foi obrigado a suportá-los também. Como resultado, a maioria dos ambientes C (e seus descendentes), independentemente do sistema operacional, disponibilizam uma funcionalidade equivalente.

[editar] Conexões

[editar] Entrada padrão (stdin)

A entrada padrão indica que o dado (frequentemente texto) está indo para um programa. O programa requisita a transferência de dados através de uma operação de "leitura". Nem todos programas precisam de entrada. Por exemplo, o programa ls (equivalente no Unix ao dir do MS-DOS) realiza a sua operação sem nenhum fluxo de entrada de dados.

Se a entrada não for "redirecionada", a origem da entrada de um programa é o terminal de texto de onde o programa foi executado.

O descritor de arquivo para a entrada padrão é 0 (zero); a variável correspondente na biblioteca stdio.h é FILE *stdin.

[editar] Saída padrão (stdout)

A saída padrão é um fluxo onde o programa escreve dados de saída. O programa requisita a transferência de dados através de uma operação de "escrita". Nem todos os programas precisam de saída. Por exemplo, o comando mv (equivalente no Unix do rename do MS-DOS) não produz qualquer saída após a sua execução.

Se a saída não for "redirecionada", o destino da saída padrão é o terminal de texto de onde o programa foi executado.

O descritor do arquivo para a saída padrão é 1 (um); a variável correspondente na biblioteca stdio.h é FILE *stdout.

[editar] Erro padrão (stderr)

O erro padrão é um outro tipo de saída padrão, é utilizada pelos programas para envio de mensagens de erro ou de diagnóstico. Este fluxo é independente da saída padrão e pode ser redirecionado separadamente. O destino usual é o terminal de texto onde o programa foi executado, para que haja uma grande chance da saída ser observada mesmo que a "saída padrão" tenha sido redirecionada (e portanto não observável prontamente). Por exemplo, a saída de um programa em um pipeline Unix é redirecionado para a entrada do próximo programa, mas os erros de cada um deles continuam sendo direcionados ao terminal de texto.

É aceitável, e até normal, que a "saída padrão" e o "erro padrão" sejam direcionados para o mesmo destino, como um terminal de texto. As mensagens aparecem na mesma ordem em que o programa as escreve.

O descritor do arquivo para o erro padrão é 2; a variável correspondente na biblioteca stdio.h é FILE *stderr.

[editar] Ver também

[editar] Referências

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com