printf.c Opis jest w trakcie tworzenia :) Będą tu niebawem fragmenty kodu z wyjaśnieniem (printf, sprintf, fprintf, powołanie typy zmiennych). Proponuję jednak poznać najpierw zmienne (ich rodzaje, zastosowania) a później powrócić do formatowania wyjścia. Chociaż jedno wiąże się z drugim.. i ciężko podać przykłady zmiennych nie powołując się na formatowania w printf() :) Od czegoś trzeba zacząć.. int main (void) { int a = 5; printf("a = %.. hmmm..", a); /*co by tu dać, aby wyświetliło się 5.. Hmm :) */ return 0; }Opis tego, co możecie wstawić za znak % i dlaczego znajdziecie na tej stronie już niebawem :) A narazie sucha teoria :P Konwersje całkowite %d - Standardowy kod konwersji dla liczby całkowitej ze znakiem (int). Jeśli wartość jest ujemna, automatycznie będzie dodany znak minus. [1] %u - Argument typu unsigned int ma być wydrukowany w formie dziesiętnej. [1] %o - Argument jest liczbą całkowitą i ma być wydrukowany w formie ósemkowej bez znaku. [1] %x - Argument jest liczbą całkowitą i ma być wydrukowany w formie szesnastkowej bez znaku. Dla dodatkowych cyfr szesnastkowych będą używane litery a, b, c, d, e, f. Jeśli w zamian podana zostanie specyfikacja %X, wtedy dodatkowymi cyframi szesnastkowymi będą A, B, C, D, E, F. [1] %ld - Argument jest liczbą całkowitą ze znakiem, typu long, która będzie wydrukowana w formie dziesiętnej. Programista może też używać %lo, %lu, %lx, %lX. [1] Konwersje zmiennoprzecinkowe %f - Argument jest typu float lub double i ma być wydrukowany w standardowej dziesiętnej formie zmiennoprzecinkowej. [1] %e - Argument jest typu float lub double i ma być wydrukowany w formie wykładniczej, przyjętej w zastosowaniach naukowych. Do oznaczenia potęgi będzie użyta litera e. Jeśli w zamian podany jest specyfikator %E, zamiast niej będzie użyta wielka litera E. [1] %g - Jest to mieszanina specyfikacji %e i %f. Wskazuje, że argument jest zgodny z float lub double. W zależności od wielkości liczby będzie użyta notacja zmiennoprzecinkowa lub wykładnicza (jak dla %e). Jeśli w zamian podany jest specyfikator %G, w noracji wykładniczej będzie użyty styl %E. [1] Znaki i stringi %c - Argument jest typu char i ma być wydrukowany dokładnie taki, jak jest, nawet jeśli to znak niedrukowalny. Wartość liczbowa zawarta w znaku może być wyświetlona za pomocą kodu konwersji całkowitej. Jest to przydatne, jeśli znak nie ma znaczącej reprezentacji na twoim terminalu. [1] %s - Odpowiadającyu argument jest traktowany jako napis (to znaczy wskaźnik znakowy). Zawartość tego napisu będzie przekazywana dosłownie do wyjścia strumienia. Oczywiście napis musi być zakończony znakiem zerowym. [1] Neutrinka www.kwant.info Literatura: K. Haviland, D. Gray, B. Salama; UNIX programowanie systemowe; Addison Wesley; 1999. |