Esistono limitazioni della lunghezza dell'input stdin (quantità di input o velocità di input)?Lo stdin ha una lunghezza limitata?
risposta
Probabilmente dipende dal driver dello stdin!
stdin (come concetto) non ha limiti.
Mi aspetto che gli sviluppatori del kernel (di qualsiasi sistema) abbiano fatto delle scelte progettuali che aggiungono limitazioni.
Non ci sono limiti di lunghezza su stdin
. Se non puoi ricevere grandi quantità di dati, è il tuo codice che crea i problemi.
e qualsiasi VELOCITA 'di invio dei limiti di dati? – Rella
Secondo di tutti altri favorite Q&A site:
Non ci dovrebbe essere un limite alla dimensione flusso (se questo è stdin o nell'altro). Quello che potresti voler controllare, comunque, è dove conservi questi personaggi ... C'è abbastanza spazio per conservarli tutti?
provare solo il codice come questo (senza memorizzare!):
for (;;) {
int c = getc(stdin);
if (c == EOF) { break; }
putc(c, stdout);
}
e vedere se ha la stessa restrizione.
Ci sono dei limiti nella velocità di trasferimento. In generale, sono approssimativamente uguali a qualsiasi tubo "UNIX". Esistono meccanismi più efficienti offerti dalla maggior parte dei sistemi operativi, ma i tubi sono piuttosto veloci ... presumendo che non si stia utilizzando la stampa &.
No. stdin
non ha limiti di lunghezza o velocità.
Se si desidera ottenere gigabyte di dati tramite stdin
è possibile e il computer lo fornirà il più velocemente possibile.
Prova:
I yes
unix uscite di comando linee di y
all'infinito. Collegalo a un programma C che legge semplicemente stdin e lo inserisce su stdout (ad esempio cat
, ma anche tr 'y' 'y'
funziona). Attendere che cat
crash o la vostra pazienza raggiunge il suo limite:
yes | cat
Circa il fattore di velocità, limiti non sono determinati dalla lingua o sistema operativo, ma da hardware (CPU, RAM, hard-disk, SATA, di rete, ...)
Esiste davvero un comando per tutto. –
Viene utilizzato quando è necessario confermare un altro comando che non può essere disabilitato (come un 'rm -i') codificato. – mouviciel
- 1. Come concatenare lo stdin in una pipe?
- 2. Come posso resettare lo stdin in Haskell?
- 3. come reindirizzare lo stdin in java Runtime.exec?
- 4. Perché munmap ha bisogno di una lunghezza come parametro?
- 5. iOS. Come limitare lo scorrimento di UIScrollview in misura limitata?
- 6. Ombreggiatura di un'area limitata da una curva
- 7. Debug MS Access La lunghezza del valore di visualizzazione è limitata
- 8. Associazione limitata di cache
- 9. Utilizzare lo stesso file per stdin e stdout con reindirizzamento
- 10. utilizzando QTextStream per leggere lo stdin in modo non bloccante
- 11. Reindirizzare lo stdin nel programma C in un altro processo
- 12. Ogni processo ha il proprio stdin, stdout e stderr?
- 13. ha lunghezza 3; 2 è necessario
- 14. Perché la lunghezza della chiave WPA2-PSK è limitata a 63 caratteri?
- 15. Come si legge dallo stdin con lo script nim?
- 16. Leggi stdin per l'input dell'utente quando un file è già reindirizzato a stdin
- 17. Leggere una singola riga da stdin
- 18. AtomicInteger per generazione sequenziale limitata
- 19. Reindirizza STDIN in bash?
- 20. Formato stdin in bash
- 21. Flushing Perl buffer STDIN
- 22. data limitata nel calendario - primefaces
- 23. Come si crea una collezione limitata utilizzando mangusta?
- 24. Esiste una raccolta limitata non bloccante in Java?
- 25. LLVM stdin/stdout/stderr
- 26. Python multiprocessing stdin ingresso
- 27. Python: Postfix stdin
- 28. Piping stdin to R
- 29. problemi con gdb stdin reindirizzamento
- 30. Codice di stato HTTP per raccolta limitata?
perché non inserisci il codice che ti dà problemi – naumcho
la domanda è generale. Informazioni su rools e concetti principali. – Rella
La quantità di input bufferizzato è determinata dal sistema operativo, credo. Se il buffer è pieno, le scritture tentate possono bloccare/bloccare e se il buffer è vuoto, le letture tentate possono bloccare/bloccare. (Sto indovinando qui). – dreamlax