Gibt es irgendwelche Einschränkungen für die Eingabe von stdin-Eingängen (in der Menge der Eingangs- oder Eingangsgeschwindigkeit)?Ist Stdin in der Länge begrenzt?
Antwort
Es hängt wahrscheinlich vom stdin Treiber ab!
stdin (als Konzept) hat keine Beschränkung.
Ich erwarte, dass Kernel-Entwickler (von beliebigen Systemen) einige Design-Entscheidungen getroffen haben, die Einschränkungen hinzufügen.
Es gibt keine Längenbeschränkungen für stdin
. Wenn Sie keine großen Datenmengen empfangen können, verursacht der Code die Probleme.
und eine GESCHWINDIGKEIT des Sendens von Datenlimits? – Rella
Nach jeder anderen favorite Q&A site:
Es sollte nicht eine Grenze für die Stromgröße sein (ob das stdin oder einem anderen). Was Sie jedoch überprüfen möchten, ist, wo Sie diese Zeichen speichern ... Gibt es genug Platz, um sie alle zu speichern?
Versuchen Sie, nur Code wie folgt (ohne Speichern!):
for (;;) {
int c = getc(stdin);
if (c == EOF) { break; }
putc(c, stdout);
}
und sehen, ob es die gleiche Einschränkung hat.
Der Übertragungsgeschwindigkeit sind Grenzen gesetzt. Im Allgemeinen sind sie ungefähr die gleichen wie jede "UNIX" -Pipe. Es gibt effizientere Mechanismen, die von den meisten Betriebssystemen angeboten werden, aber Rohre sind ziemlich schnell ... vorausgesetzt, Sie verwenden nicht printf & wie.
Nein. stdin
hat keine Längen- oder Geschwindigkeitsbeschränkungen.
Wenn Sie Gigabytes Daten über stdin
erhalten möchten, können Sie das tun, und Ihr Computer wird es so schnell wie möglich liefern.
Ausprobieren:
Die yes
UNIX-Befehlsausgänge Linien y
endlos. Pipe es zu einem C-Programm, das nur stdin liest und es auf stdout setzt (z. B. cat
, aber tr 'y' 'y'
funktioniert auch). Warten Sie, bis cat
abstürzt oder Ihre Geduld erreicht seine Grenze:
yes | cat
über den Geschwindigkeitsfaktor, Grenzwerte nicht durch Sprache oder OS bestimmt, sondern durch Hardware (CPU, RAM, Festplatte, SATA, Netzwerk, ...)
Es gibt wirklich einen Befehl für alles. –
Es wird verwendet, wenn ein anderer Befehl eine Bestätigung benötigt, die nicht deaktiviert werden kann (wie ein hartcodierter 'rm -i'). – mouviciel
- 1. MS-Access Debug Watch Wert Länge ist begrenzt
- 2. Was ist der Unterschied zwischen STDIN und $ stdin in Ruby?
- 3. Wie ist die Anzahl der Ansichten begrenzt?
- 4. Ist die Anzahl der Aufgaben begrenzt?
- 5. Ist PHP sehr begrenzt?
- 6. Wie kann die Länge der Eigenschaften in Logs in WSO2 ESB begrenzt werden?
- 7. Ist fopen() vom Dateisystem begrenzt?
- 8. Warum th: maxlength begrenzt die Länge nicht auf vier Zeichen
- 9. Std :: Iota ist sehr begrenzt
- 10. ist das Zeichen Nullabschluss in der Länge
- 11. Länge der Daten ist in C#
- 12. Überprüfen, ob Stdin leer ist
- 13. Hybris Suchseite Facettenfilter in der Anzahl begrenzt.
- 14. Was ist der Unterschied zwischen <stdin> und <STDIN>?
- 15. Länge der QuickInfo/Popover in ShinyBS erhöhen
- 16. ist die Anzahl der Aufrufe von navigator.geolocation.getCurrentPostion begrenzt?
- 17. Warum ist die Anzahl gleichzeitiger Downloads begrenzt?
- 18. java.io.Console - ähnliches Dienstprogramm, das mit der stdin-Umleitung kompatibel ist?
- 19. Was ist der Unterschied zwischen STDIN und STDIN_FILENO?
- 20. STDIN in Netbeans
- 21. Länge der Daten zu entschlüsseln, ist ungültig
- 22. STDIN in bash umleiten?
- 23. Warum ist "long" als Array-Länge in C# erlaubt?
- 24. Zeichenkette, die in Erlang begrenzt
- 25. Format Stdin in Bash
- 26. Länge der Zeichenfolge in String.Format()
- 27. max_input_vars begrenzt in PHP 5.2.17
- 28. Ist close/fclose auf stdin garantiert korrekt?
- 29. Warum begrenzen wir die Länge der Spaltenwerte in MYSQL
- 30. Was ist die Beschränkung in der Länge einer SqlCommand Abfrage
warum postest du nicht den Code, der dir Probleme gibt – naumcho
Frage ist allgemein. Über Hauptprodukte und Konzepte. – Rella
Die Menge der gepufferten Eingabe wird vom Betriebssystem bestimmt, denke ich. Wenn der Puffer voll ist, können/werden Versuche blockieren, und wenn der Puffer leer ist, können/können Versuche gesperrt werden. (Ich vermute hier). – dreamlax