logo

Stdin och Stdout i C

Programmering kräver inmatning och produktion aktiviteter och C-språkets stdin och stdout strömmar hanterar dessa processer effektivt. Denna omfattande referens kommer att grundligt förklara syftet, syntaxen och användningen av stdin och stdout. Standardströmmar i C kallad stdin och stdout göra in- och utmatningsoperationer enklare. De gör kommunikationen mellan ett program och dess användare enklare som en komponent i C-standardbiblioteket (stdio.h) . Låt oss undersöka dessa strömmar mer i detalj:

Vad är Stdin?

Stdin är står för Standardingång . Det representeras av stdin ström , som normalt är ansluten till tangentbordet. Det gör det möjligt för program att läsa användarinmatade data medan de körs. Linjebuffring är standardinställningen för stdin , som samlar in input tills användaren trycker på Enter-tangent .

Vad är Stdout?

Stdout står för Standardutgång . Det representeras av stdout ström , som ofta är ansluten till konsolen eller terminalen. Det gör det möjligt för program att visa användarinformation eller resultat. Stdout är också linjebuffrad som standard.

Att förstå syntax krävs att använda stdin och stdout effektivt är viktigt:

Läsindata från Stdin:

De scanf funktion är van vid läsa input från användaren via stdin . Följande är syntaxen:

oföränderlig lista
 scanf('format_specifier', &variable); 

I detta fall indikeras den avsedda datatypen med format_specifier , och minnesadressen där indata kommer att lagras indikeras av &variable.

Skriva utdata till Stdout:

De printf funktionen är van vid displayutgång till användaren genom stdout . Följande är syntaxen:

 printf('format_specifier', variable); 

Utdataformatet ställs in av format_specifier , och värdet som ska visas lagras i variabeln.

För att ytterligare förstå stdin och stdout , låt oss titta på några verkliga exempel:

båsalgoritm

Exempel 1:

Läsindata från Stdin: Antag att vi ber användaren att ange sitt namn, ålder och favoritnummer. Därefter kommer användaren att se denna information 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:

b+ träd
 Enter your name: John Doe Enter your age: 25 Enter your favorite number: 42 Name: John Doe Age: 25 Favorite Number: 42 

Exempel 2:

Skriva utdata till Stdout: Låt oss beräkna summan av två användarangivna värden och visa resultatet på skärmen med hjälp av 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 

Exempel 3:

Här är en utförlig illustration av hur man använder stdin och stdout i ett program som beräknar medelvärdet av en serie av användarangivna siffror:

sträng jämför c#
 #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;>

Förklaring:

Följande kod visar ett program som bestämmer medelvärdet av en uppsättning siffror som användaren tillhandahåller. Användaren uppmanas först att ange antalet nummer som de avser att mata in. Efter det uppmanar programmet användaren att ange önskat antal siffror om räkningen är korrekt. De inmatade numren läggs ihop och lagras samtidigt i en array. Därefter bestäms medelvärdet genom att dividera summan med antalet i programmet. Slutligen visas användaren de angivna siffrorna, summan och medelvärdet.

Slutsats:

Sammanfattningsvis måste alla programmerare som tänker skapa effektiva och interaktiva appar känna till användningen av stdin och stdout i C. Genom den här artikeln har vi lärt oss mycket om dessa standardströmmar och hur de fungerar i in- och utmatningsoperationer.

Vi kan snabbt samla in användardata under körning genom att använda stdin . De scanf funktion tillåter oss att använda formatspecifikationer för att ange den förväntade datatypen och spara indata i variabler. Tack vare möjligheten att be användarna om olika input och bearbeta dem på lämpligt sätt, gör det möjligt för våra program att vara interaktiva.

Det är viktigt att komma ihåg det när du arbetar med användarinmatning, ingångsvalidering och felhantering måste övervägas noggrant. Användare kan skicka oväntade data, till exempel ett tecken i stället för ett nummer eller data som är längre än förväntat. Vi kan inkludera felkontrollfunktioner och validera användarinput innan vi går vidare till andra procedurer för att säkerställa att våra program är motståndskraftiga.

Å andra sidan kan vi visa användarinformation, resultat , och meddelanden använder sig av stdout . En flexibel metod för att formatera och presentera resultatet i en stil som är lätt att förstå tillhandahålls av printf funktion . Använder sig av formatspecifikationer , kan vi reglera presentationen av olika dataslag, inklusive texter, heltal, och flyttalstal . Det gör det möjligt för oss att skräddarsy resultatet och ge användaren användbar information.

Under vissa omständigheter kan vi behöva inmatning eller produktion omedelbart utan att vänta på nyradstecken. De getchar och putchar funktioner kan användas för att läsa och skriva enskilda tecken under dessa omständigheter. Vi kan bearbeta tecken en i taget med dessa funktioner eftersom de ger oss mer exakt kontroll över input och output.

Använder sig av stdin och stdout går utöver interaktiva kommandoradsgränssnitt, även om konsolbaserade applikationer ofta associeras med dem. Den konventionella in- och utmatningen kan omdirigeras för att läsa från eller skriva till filer, vilket möjliggör batchbearbetning och uppgiftsautomatisering. Vi kan effektivt hantera enorma mängder data och operera på externa filer genom att använda fil I/O-rutiner tycka om fopen, fread, fwrite och fclose .

skillnad på tiger och lejon

Dessutom, för att producera ännu mer potenta resultat, stdin och stdout kan användas med andra C-programmeringsfunktioner och verktyg. Till exempel kan vi använda string.h bibliotekets strängmanipuleringsfunktioner i kombination med stdin och stdout för att bearbeta och ändra textinmatning. De kan också användas tillsammans med kontrollstrukturer, loopar, och funktioner att bygga sofistikerade algoritmer och användarinputbaserade beslutssystem.