De ' ' tecken i C är programmeringsspråket känt som 'Vagnretur', vilket hjälper till att flytta markören till början av den aktuella raden utan att gå vidare eller hoppa till nästa rad.
I några fall kanske du vill lägg till ytterligare text utan att introducera en ny linje till konsolens eller terminalfönstrets nuvarande linje. Under vissa omständigheter kan du skriva ny text ovanpå det befintliga innehållet genom att använda ' ' tecken för att föra tillbaka markören till början av raden.
Exempel på kodavsnitt:
#include int main() { int j; for (j = 0; j<10; j++) { printf('loading: %d ', j); fflush(stdout); sleep(1); } printf(' '); return 0; < pre> <p> <strong>Output:</strong> </p> <pre> Loading: 0 Loading: 1 Loading: 2 Loading: 3 Loading: 4 Loading: 5 Loading: 6 Loading: 7 Loading: 8 Loading: 9 </pre> <p> <strong>Explanation:</strong> </p> <p>This program counts from <strong> <em>0 to 9</em> </strong> , but instead of producing new lines after each iteration of the loop, it just overwrites the previous output. In order for the subsequent iteration of the loop to begin replacing the previous output from the left side of the console window, the <strong> <em>' '</em> </strong> character brings the cursor back to the beginning of the line.</p> <h4>Note: The output buffer is flushed using the fflush(stdout) call, causing the output to be immediately printed to the console. The goal of using ' ' to update the output in real time would be defeated without this call if the output was postponed until the end of the program.</h4> <p>There is some other additional information about <strong> <em>' '</em> </strong> in C programming which are as follows:</p> <ul> <li>A single character in C is represented by the character literal <strong> <em>' '</em> </strong> . It has the same <strong> <em>ASCII code</em> </strong> as the <strong> <em>carriage return character</em> </strong> in other computer languages, which is <strong> <em>13</em> </strong> , making it easy to identify.</li> <li>Complex output formatting can be created by combining the <strong> <em>' '</em> </strong> character with other control characters like <strong> <em>' ' (newline)</em> </strong> and <strong> <em>' ' (tab)</em> </strong> .</li> <li>To ensure that the output is quickly provided to the console after updating the output on the console or terminal window with <strong> <em>' '</em> </strong> , it's essential to flush the output buffer with <strong> <em>fflush(stdout)</em> </strong> . If not, the previous output could be cached in the output buffer and delayed from being displayed.</li> <li>The <strong> <em>' '</em> </strong> command can occasionally be used to output animated or dynamic text on the console. For instance, you could use <strong> <em>' '</em> </strong> to build a progress bar that updates while a lengthy task is finished.</li> <li>When creating custom console output in C, <strong> <em>' '</em> </strong> is frequently used in conjunction with other console output functions like <strong> <em>puts()</em> </strong> and <strong> <em>printf()</em> </strong> to control the output formatting.</li> <li>In <strong> <em>command-line interfaces (CLIs)</em> </strong> and other text-based programs, the update symbol <strong> <em>' '</em> </strong> is frequently used to show the status of an action, such as <strong> <em>downloading a file, transferring data</em> </strong> , or <strong> <em>compiling code</em> </strong> .</li> <li>The <strong> <em>' '</em> </strong> is particularly helpful for updating a single line of output without scrolling the entire terminal window. Working with large datasets or lengthy procedures can benefit from this.</li> <li>Additional special characters in C, such as <strong> <em>'' (backspace), 'v' (vertical tab),</em> </strong> and <strong> <em>' ' (return)</em> </strong> , can be used to modify the output formatting in addition to <strong> <em>' '</em> </strong> . These additional special characters shift the cursor back one character and down one line, respectively.</li> <li>In addition to being used in C programming, <strong> <em>' '</em> </strong> can also be used to control console output in <strong> <em>Java</em> </strong> , <strong> <em>Python</em> </strong> , and <strong> <em>Ruby</em> </strong> .</li> <li>Making ensuring that the new output is the same length as the previous output or greater is crucial when using <strong> <em>' '</em> </strong> to refresh the output on the console. Characters from the previous output that were not overwritten if the new output is shorter than the old output may cause output to be distorted or inaccurate.</li> <li>The <strong> <em>' '</em> </strong> does not clear the line or remove any text; it just advances the cursor to the start of the current line. If you want to format the line before writing new output, use <strong> <em>' '</em> </strong> and other control characters, like <strong> <em>spaces or backspaces</em> </strong> , to replace the old text with blank spaces.</li> <li>The <strong> <em>' '</em> </strong> can be used to modify both input and output formatting in conjunction with other terminal output functions like <strong> <em>scanf()</em> </strong> and <strong> <em>gets()</em> </strong> . For instance, use <strong> <em>' '</em> </strong> to make a command-line prompt that changes as the user types input.</li> </ul> <p> <strong>Example:</strong> </p> <p>Another code snippet demonstrating the use of <strong> <em>' '</em> </strong> in C to create an animated loading spinner:</p> <pre> #include #include #include int main() { int j; char raj[] = '\-+{}\'; for (j = 0; j<10; 100 j++) { printf('loading %c ', spinner[j % 4]); fflush(stdout); usleep(100000); sleep for milliseconds } printf('done!!!!!! '); return 0; < pre> <p> <strong>Output:</strong> </p> <pre> Loading Loading - Loading + Loading { Loading Loading - Loading + Loading { Loading Loading - Done!!!!!! </pre> <hr></10;></pre></10;>
Förklaring:
Detta program räknas från 0 till 9 , men istället för att producera nya rader efter varje iteration av slingan, skriver den bara över den tidigare utdatan. För att den efterföljande iterationen av slingan ska börja ersätta den tidigare utdata från vänster sida av konsolfönstret, ' ' tecken för markören tillbaka till början av raden.
Obs: Utdatabufferten töms med anropet fflush(stdout), vilket gör att utdata omedelbart skrivs ut till konsolen. Målet att använda ' ' för att uppdatera utdata i realtid skulle besegras utan detta anrop om utmatningen sköts upp till slutet av programmet.
Det finns lite annan ytterligare information om ' ' i C-programmering som är följande:
- Ett enstaka tecken i C representeras av tecknet bokstavligt ' ' . Den har samma ASCII-kod som den vagnreturkaraktär på andra datorspråk, dvs 13 , vilket gör det lätt att identifiera.
- Komplex utdataformatering kan skapas genom att kombinera ' ' karaktär med andra kontrolltecken som ' ' (ny rad) och ' ' (flik) .
- För att säkerställa att utgången snabbt levereras till konsolen efter uppdatering av utgången på konsolen eller terminalfönstret med ' ' , är det viktigt att spola ut bufferten med fflush(stdout) . Om inte, kan den tidigare utgången cachelagras i utgångsbufferten och försenas från att visas.
- De ' ' kommandot kan ibland användas för att mata ut animerad eller dynamisk text på konsolen. Du kan till exempel använda ' ' att bygga en förloppsindikator som uppdateras medan en lång uppgift är klar.
- När du skapar anpassad konsolutgång i C, ' ' används ofta i kombination med andra konsolutgångsfunktioner som sätter() och printf() för att styra utdataformateringen.
- I kommandoradsgränssnitt (CLI) och andra textbaserade program, uppdateringssymbolen ' ' används ofta för att visa status för en åtgärd, som t.ex ladda ner en fil, överföra data , eller kompilera kod .
- De ' ' är särskilt användbart för att uppdatera en enda rad med utdata utan att rulla hela terminalfönstret. Att arbeta med stora datamängder eller långa procedurer kan dra nytta av detta.
- Ytterligare specialtecken i C, som t.ex '' (baksteg), 'v' (vertikal flik), och ' ' (retur) , kan användas för att ändra utdataformateringen förutom ' ' . Dessa extra specialtecken flyttar markören tillbaka ett tecken respektive ned en rad.
- Förutom att användas i C-programmering, ' ' kan även användas för att styra konsolutgången Java , Pytonorm , och Rubin .
- Att se till att den nya utgången har samma längd som den tidigare utgången eller större är avgörande vid användning ' ' för att uppdatera utdata på konsolen. Tecken från den tidigare utgången som inte skrevs över om den nya utgången är kortare än den gamla kan göra att utgången blir förvrängd eller felaktig.
- De ' ' rensar inte raden eller tar bort någon text; den flyttar bara fram markören till början av den aktuella raden. Om du vill formatera raden innan du skriver ny utdata, använd ' ' och andra kontrollkaraktärer, som mellanslag eller backsteg , för att ersätta den gamla texten med blanksteg.
- De ' ' kan användas för att modifiera både in- och utformatering i kombination med andra terminalutgångsfunktioner som scanf() och får() . Använd till exempel ' ' för att göra en kommandoradsprompt som ändras när användaren skriver inmatning.
Exempel:
Ett annat kodavsnitt som visar användningen av ' ' i C för att skapa en animerad laddningsspinnare:
#include #include #include int main() { int j; char raj[] = '\-+{}\'; for (j = 0; j<10; 100 j++) { printf(\'loading %c \', spinner[j % 4]); fflush(stdout); usleep(100000); sleep for milliseconds } printf(\'done!!!!!! \'); return 0; < pre> <p> <strong>Output:</strong> </p> <pre> Loading Loading - Loading + Loading { Loading Loading - Loading + Loading { Loading Loading - Done!!!!!! </pre> <hr></10;>
10;>10;>