The znak ' ' v programovacím jazyce C je znám jako 'Návrat vozíku', což pomáhá při přesunu kurzoru na začátek aktuálního řádku, aniž by došlo k posunu nebo přeskakování na další řádek.
V několika případech možná budete chtít přidat další text bez zavedení nového řádku do aktuálního řádku konzoly nebo okna terminálu. Za určitých okolností můžete napsat nový text nad stávající obsah pomocí znak ' ' vrátíte kurzor zpět na začátek řádku.
Příklad fragmentu kódu:
#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;>
Vysvětlení:
Tento program počítá od 0 až 9 , ale místo vytváření nových řádků po každé iteraci smyčky pouze přepíše předchozí výstup. Aby následná iterace smyčky začala nahrazovat předchozí výstup z levé strany okna konzoly, ' ' znak vrátí kurzor zpět na začátek řádku.
Poznámka: Výstupní vyrovnávací paměť se vyprázdní pomocí volání fflush(stdout), což způsobí okamžité vytištění výstupu na konzolu. Cíl použití ' ' k aktualizaci výstupu v reálném čase by byl bez tohoto volání zmařen, pokud by byl výstup odložen na konec programu.
Existují další doplňující informace o ' ' v programování C, které jsou následující:
- Jeden znak v C je reprezentován znakovým literálem ' ' . Má to stejné ASCII kód jako znak návratu vozíku v jiných počítačových jazycích, což je 13 , což usnadňuje identifikaci.
- Komplexní výstupní formátování lze vytvořit kombinací ' ' postava s jinými kontrolními postavami jako ' ' (nový řádek) a ' ' (tabulátor) .
- Aby bylo zajištěno, že výstup bude rychle poskytnut konzoli po aktualizaci výstupu na konzole nebo v okně terminálu pomocí ' ' , je nezbytné vyprázdnit výstupní vyrovnávací paměť flush (stdout) . Pokud ne, předchozí výstup by mohl být uložen do mezipaměti ve výstupní vyrovnávací paměti a jeho zobrazení by se mohlo zpozdit.
- The ' ' Příkaz lze občas použít k výstupu animovaného nebo dynamického textu na konzoli. Můžete například použít ' ' k vytvoření ukazatele průběhu, který se aktualizuje po dokončení zdlouhavého úkolu.
- Při vytváření vlastního výstupu konzoly v C, ' ' se často používá ve spojení s jinými výstupními funkcemi konzoly, jako je klade() a printf() k ovládání výstupního formátování.
- v rozhraní příkazového řádku (CLI) a další textové programy, symbol aktualizace ' ' se často používá k zobrazení stavu akce, jako je např stahování souboru, přenos dat nebo kompilace kódu .
- The ' ' je zvláště užitečné pro aktualizaci jednoho řádku výstupu bez posouvání celého okna terminálu. Z toho může těžit práce s velkými datovými sadami nebo zdlouhavé procedury.
- Další speciální znaky v C, jako např '' (backspace), 'v' (svislá karta), a ' ' (návrat) , lze kromě toho použít k úpravě výstupního formátování ' ' . Tyto dodatečné speciální znaky posunou kurzor o jeden znak zpět a o řádek dolů.
- Kromě použití v programování C, ' ' lze také použít k ovládání výstupu konzole Jáva , Krajta , a Rubín .
- Při používání je zásadní zajistit, aby měl nový výstup stejnou délku jako předchozí výstup nebo větší ' ' k obnovení výstupu na konzole. Znaky z předchozího výstupu, které nebyly přepsány, pokud je nový výstup kratší než starý výstup, mohou způsobit zkreslení nebo nepřesnost výstupu.
- The ' ' nevyčistí řádek ani neodstraní žádný text; pouze posune kurzor na začátek aktuálního řádku. Pokud chcete formátovat řádek před zápisem nového výstupu, použijte ' ' a další řídicí znaky, jako mezery nebo zpětné mezery , chcete-li nahradit starý text prázdnými mezerami.
- The ' ' lze použít k úpravě formátování vstupu i výstupu ve spojení s dalšími funkcemi výstupu terminálu, jako je např scanf() a dostane() . Například použijte ' ' vytvořit příkazový řádek, který se mění podle toho, jak uživatel zadává vstup.
Příklad:
Další fragment kódu demonstrující použití ' ' v C pro vytvoření animovaného načítání:
#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;>