logo

Stdin og Stdout i C

Programmering kræver input og produktion aktiviteter og C-sprogets stdin og stdout strømme effektivt styrer disse processer. Denne omfattende reference vil grundigt forklare formålet, syntaksen og brugen af ​​stdin og stdout. Standard streams i C hedder stdin og stdout gøre input og output operationer nemmere. De gør kommunikationen mellem et program og dets bruger lettere som en komponent i C-standardbiblioteket (stdio.h) . Lad os undersøge disse strømme mere detaljeret:

Hvad er Stdin?

Stdin er står for Standard input . Det er repræsenteret ved stdin stream , som normalt er tilsluttet tastaturet. Det gør det muligt for programmer at læse brugerindtastede data, mens de kører. Linjebuffring er standardindstillingen for stdin , som samler input, indtil brugeren trykker på Indtast nøgle .

Hvad er Stdout?

Stdout står for Standard output . Det er repræsenteret ved stdout strøm , som ofte er fastgjort til konsollen eller terminalen. Det gør det muligt for programmer at vise brugeroplysninger eller resultater. Stdout er også line-buffer som standard.

Forståelse af syntaks påkrævet at bruge stdin og stdout effektivt er vigtigt:

Læse input fra Stdin:

Det scanf funktion er vant til læse input fra brugeren via stdin . Følgende er syntaksen:

entitetsrelationel
 scanf('format_specifier', &variable); 

I dette tilfælde er den påtænkte datatype angivet med format_specificator , og hukommelsesadressen, hvor inputdataene vil blive gemt, er angivet med &variable.

Skrive output til Stdout:

Det printf funktion bruges til display output til brugeren igennem stdout . Følgende er syntaksen:

 printf('format_specifier', variable); 

Outputformatet indstilles af format_specificator , og den værdi, der skal vises, gemmes i variablen.

For yderligere at forstå stdin og stdout , lad os se på nogle eksempler fra den virkelige verden:

sql klausuler

Eksempel 1:

Læse input fra Stdin: Antag, at vi beder brugeren om at indtaste deres navn, alder og yndlingsnummer. Herefter vil brugeren se disse oplysninger igen pga stdout .

 #include int main() { char name[50]; int age; int favoriteNumber; printf('Enter your name: '); scanf('%s', name); printf('Enter your age: '); scanf('%d', &age); printf('Enter your favorite number: '); scanf('%d', &favoriteNumber); printf('Name: %s
', name); printf('Age: %d
', age); printf('Favorite Number: %d
', favoriteNumber); return 0; } 

Produktion:

java tuple
 Enter your name: John Doe Enter your age: 25 Enter your favorite number: 42 Name: John Doe Age: 25 Favorite Number: 42 

Eksempel 2:

Skrive output til Stdout: Lad os beregne summen af ​​to brugerangivne værdier og vise resultatet på skærmen vha stdout .

 #include int main() { int num1, num2, sum; printf('Enter the first number: '); scanf('%d', &num1); printf('Enter the second number: '); scanf('%d', &num2); sum = num1 + num2; printf('The sum is: %d
', sum); return 0; } 

Produktion:

 Enter the first number: 10 Enter the second number: 5 The sum is: 15 

Eksempel 3:

Her er en grundig illustration af, hvordan du bruger stdin og stdout i et program, der beregner gennemsnittet af en række brugerangivne tal:

 #include #define MAX_NUMBERS 10 int main() { int numbers[MAX_NUMBERS]; int count, i; float sum = 0, average; printf('Enter the count of numbers (up to %d): ', MAX_NUMBERS); scanf('%d', &count); if (count MAX_NUMBERS) { printf('Invalid count of numbers. Exiting...
'); return 0; } printf('Enter %d numbers:
&apos;, count); for (i = 0; i <count; i++) { printf('number %d: ', i + 1); scanf('%d', &numbers[i]); sum } average="sum" count; printf('
entered numbers: '); for (i="0;" < printf('%d numbers[i]); printf('
sum: %.2f
', sum); printf('average: average); return 0; pre> <p> <strong>Output:</strong> </p> <pre> Enter the count of numbers (up to 10): 5 Enter 5 numbers: Number 1: 10 Number 2: 15 Number 3: 20 Number 4: 25 Number 5: 30 Entered numbers: 10 15 20 25 30 Sum: 100.00 Average: 20.00 </pre> <p> <strong>Explanation:</strong> </p> <p>The following code demonstrates a program that determines the average of a set of numbers that the user provides. The user is first asked to specify the number of numbers they intend to input. After that, the program prompts the user to enter the required number of numbers if the count is accurate. The entered numbers are concurrently added together and stored in an array. After that, the average is determined by dividing the sum by the count in the program. Finally, the user is shown the entered numbers, sum, and average.</p> <h2>Conclusion:</h2> <p>In conclusion, any programmer intending to create effective and interactive apps must know the use of <strong> <em>stdin</em> </strong> and <strong> <em>stdout</em> </strong> in C. Throughout this article, we have learned a lot about these standard streams and how they function in input and output operations.</p> <p>We can quickly collect user input during runtime by using <strong> <em>stdin</em> </strong> . The <strong> <em>scanf function</em> </strong> allows us to use <strong> <em>format specifiers</em> </strong> to specify the expected data type and save the input in variables. Due to the ability to ask users for different inputs and process them appropriately, makes it possible for our programs to be interactive.</p> <p>It&apos;s crucial to remember that while working with <strong> <em>user input, input validation</em> </strong> and <strong> <em>error handling</em> </strong> must be carefully considered. Users may submit unexpected data, such as a character in place of a number or data that is longer than expected. We can include error-checking features and validate user input before moving on to other procedures to make sure our programs are resilient.</p> <p>On the other hand, we can show the <strong> <em>user information, outcomes</em> </strong> , and <strong> <em>messages</em> </strong> using <strong> <em>stdout</em> </strong> . A flexible method for formatting and presenting the result in a style that is easy to understand is provided by the <strong> <em>printf function</em> </strong> . Using <strong> <em>format specifiers</em> </strong> , we can regulate the presentation of different data kinds, including <strong> <em>texts, integers,</em> </strong> and <strong> <em>floating-point numbers</em> </strong> . It enables us to tailor the output and give the user useful information.</p> <p>In some circumstances, we could need <strong> <em>input</em> </strong> or <strong> <em>output</em> </strong> immediately without waiting for the newline character. The <strong> <em>getchar</em> </strong> and <strong> <em>putchar</em> </strong> functions can be used to read and write individual characters in these circumstances. We can process characters one at a time with these functions because they give us more precise control over input and output.</p> <p>Using <strong> <em>stdin</em> </strong> and <strong> <em>stdout</em> </strong> goes beyond interactive command-line interfaces, even though console-based applications are frequently associated with them. The conventional input and output can be redirected to read from or write to files, allowing for batch processing and task automation. We can efficiently handle enormous volumes of data and operate on external files by using file <strong> <em>I/O routines</em> </strong> like <strong> <em>fopen, fread, fwrite, and fclose</em> </strong> .</p> <p>Additionally, to produce even more potent outcomes, <strong> <em>stdin</em> </strong> and <strong> <em>stdout</em> </strong> can be used with other C programming features and tools. For instance, we may use the <strong> <em>string.h library&apos;s</em> </strong> string manipulation functions in conjunction with stdin and stdout to process and modify text input. They can also be used in conjunction with <strong> <em>control structures, loops,</em> </strong> and <strong> <em>functions</em> </strong> to build sophisticated algorithms and user-input-based decision-making systems.</p> <hr></count;>

Forklaring:

arraylist sorteret

Følgende kode viser et program, der bestemmer gennemsnittet af et sæt tal, som brugeren angiver. Brugeren bliver først bedt om at angive antallet af numre, de har til hensigt at indtaste. Derefter beder programmet brugeren om at indtaste det nødvendige antal numre, hvis optællingen er nøjagtig. De indtastede tal lægges samtidigt sammen og gemmes i et array. Derefter bestemmes gennemsnittet ved at dividere summen med antallet i programmet. Til sidst får brugeren vist de indtastede tal, sum og gennemsnit.

Konklusion:

Som konklusion skal enhver programmør, der har til hensigt at skabe effektive og interaktive apps, kende brugen af stdin og stdout i C. Gennem denne artikel har vi lært meget om disse standardstrømme, og hvordan de fungerer i input- og outputoperationer.

Vi kan hurtigt indsamle brugerinput under kørsel ved at bruge stdin . Det scanf funktion giver os mulighed for at bruge format specifikationer for at angive den forventede datatype og gemme input i variabler. På grund af evnen til at bede brugere om forskellige input og behandle dem korrekt, gør det muligt for vores programmer at være interaktive.

Det er afgørende at huske det, mens du arbejder med brugerinput, inputvalidering og fejlhåndtering skal overvejes nøje. Brugere kan indsende uventede data, såsom et tegn i stedet for et tal eller data, der er længere end forventet. Vi kan inkludere fejlkontrolfunktioner og validere brugerinput, før vi går videre til andre procedurer for at sikre, at vores programmer er modstandsdygtige.

På den anden side kan vi vise brugeroplysninger, resultater , og Beskeder ved brug af stdout . En fleksibel metode til formatering og præsentation af resultatet i en stil, der er let at forstå, er leveret af printf funktion . Ved brug af format specifikationer , kan vi regulere præsentationen af ​​forskellige datatyper, herunder tekster, heltal, og flydende kommatal . Det gør os i stand til at skræddersy outputtet og give brugeren brugbar information.

I nogle tilfælde kunne vi få brug for det input eller produktion med det samme uden at vente på nylinjekarakteren. Det getchar og putchar funktioner kan bruges til at læse og skrive individuelle tegn under disse omstændigheder. Vi kan behandle tegn en ad gangen med disse funktioner, fordi de giver os mere præcis kontrol over input og output.

Ved brug af stdin og stdout går ud over interaktive kommandolinjegrænseflader, selvom konsolbaserede applikationer ofte er forbundet med dem. Det konventionelle input og output kan omdirigeres til at læse fra eller skrive til filer, hvilket giver mulighed for batchbehandling og opgaveautomatisering. Vi kan effektivt håndtere enorme mængder data og operere på eksterne filer ved at bruge fil I/O rutiner synes godt om fopen, fread, fwrite og fclose .

streng vende i c

Derudover, for at producere endnu mere potente resultater, stdin og stdout kan bruges sammen med andre C-programmeringsfunktioner og værktøjer. For eksempel kan vi bruge string.h bibliotekets strengmanipulationsfunktioner i forbindelse med stdin og stdout for at behandle og ændre tekstinput. De kan også bruges sammen med kontrolstrukturer, sløjfer, og funktioner at bygge sofistikerede algoritmer og brugerinput-baserede beslutningssystemer.