Запитання з тегом «printf»

`printf` - це загальна функція для форматованого виводу. C та багато інших мов мають ціле сімейство пов'язаних функцій. Використовуйте цей тег лише в тому випадку, якщо питання стосується безпосередньо 'printf' або пов'язаних з ним функцій.

13
Уникайте зворотних нулів у printf ()
Я постійно натрапляю на специфікатори формату для сімейства функцій printf (). Те, що я хочу, - це можливість друкувати подвійний (або плаваючий) з максимальною заданою кількістю цифр після десяткової крапки. Якщо я використовую: printf("%1.3f", 359.01335); printf("%1.3f", 359.00999); я отримав 359.013 359.010 Замість бажаного 359.013 359.01 Хтось може мені допомогти?
107 c  printf 

13
Прокладки символів у printf
Я пишу сценарій bash shell, щоб відобразити, чи працює процес чи ні. Поки що я зрозумів це: printf "%-50s %s\n" $PROC_NAME [UP] Код дає мені такий вихід: JBoss [DOWN] GlassFish [UP] verylongprocessname [UP] Я хочу прокласти проміжок між двома полями знаками "-" або "*", щоб зробити його більш читабельним. Як …
107 bash  shell  printf 


5
Багато способів форматування рядків у Python - чи застарілі (вже будуть) застарілі?
У Python є щонайменше шість способів форматування рядка: In [1]: world = "Earth" # method 1a In [2]: "Hello, %s" % world Out[2]: 'Hello, Earth' # method 1b In [3]: "Hello, %(planet)s" % {"planet": world} Out[3]: 'Hello, Earth' # method 2a In [4]: "Hello, {0}".format(world) Out[4]: 'Hello, Earth' # method …

1
Як працює Haskell printf?
Безпека типів Haskell є другою ніхто НЕ тільки до залежного від типізованих мов. Але з Text.Printf відбувається деяка глибока магія, яка здається досить хитрою . > printf "%d\n" 3 3 > printf "%s %f %d" "foo" 3.3 3 foo 3.3 3 У чому полягає глибока магія цього? Як Text.Printf.printfфункція може …

8
Специфікатор ширини Printf для підтримки точності значення з плаваючою комою
Чи існує printfспецифікатор ширини, який може бути застосований до специфікатора плаваючої точки, який автоматично відформатуватиме висновок на необхідну кількість значущих цифр, таким чином, що при скануванні рядка назад в ньому набувається початкове значення плаваючої точки? Наприклад, припустимо, що я друкую a floatз точністю до 2десяткових знаків: float foobar = 0.9375; …

7
Друк шістнадцяткових знаків на С
Я намагаюся читати в рядку символів, потім роздруковую шістнадцятковий еквівалент символів. Наприклад, якщо у мене є рядок, тобто "0xc0 0xc0 abc123"перші два символи знаходяться c0в шістнадцятковій формі, а решта - abc123в ASCII, то я повинен отримати c0 c0 61 62 63 31 32 33 Однак printfвикористання %xдає мені ffffffc0 ffffffc0 …
103 c  hex  printf 

11
Чому printf з одним аргументом (без специфікаторів конверсії) застарів?
У книзі, яку я читаю, написано, що printfз одним аргументом (без специфікаторів перетворення) застаріла. Рекомендує замінити printf("Hello World!"); з puts("Hello World!"); або printf("%s", "Hello World!"); Може хтось скаже мені, чому printf("Hello World!");це неправильно? У книзі написано, що вона містить вразливості. Які ці вразливості?

4
специфікатори формату printf для uint32_t та size_t
У мене є таке size_t i = 0; uint32_t k = 0; printf("i [ %lu ] k [ %u ]\n", i, k); Я отримую таке попередження при компілюванні: format ‘%lu’ expects type ‘long unsigned int’, but argument has type ‘uint32_t’ Коли я запустив це за допомогою шини, я отримав наступне: …
101 c  printf 

5
Характер втечі "backspace" "\ b": несподівана поведінка?
Отже, я нарешті читаю K&R , і я дізнався щось на перших сторінках про те, що є символ втечі із зворотної області \b. Тож я йду перевірити це, і є дуже дивна поведінка: #include <stdio.h> main () { printf("hello worl\b\bd\n"); } Вихід є hello wodl Хтось може це пояснити?

9
Чистий код для друкуf size_t в C ++ (або: найближчий еквівалент% z в C ++)
У мене є код C ++, який друкує size_t: size_t a; printf("%lu", a); Я хотів би, щоб це компілювалось без попереджень як для 32-, так і для 64-розрядної архітектури. Якби це був C99, я міг би використати printf("%z", a);. Але AFAICT %zне існує в жодному стандартному діалекті С ++. Тому …
96 c++  printf  size-t 

6
Як відформатувати рядки за допомогою printf (), щоб отримати рівну довжину на виході?
У мене є дві функції: одна, яка видає такі повідомлення, Starting initialization...а інша перевіряє коди повернення та результати "Ok", "Warning"або "Error". Однак вироблена продукція має різну довжину: Starting initialization...Ok. Checking init scripts...Ok. Як я можу отримати щось подібне: Starting initialization... Ok. Checking init scripts... Ok.

8
Використання кольорів із printf
Коли пишеться так, він виводить текст синім: printf "\e[1;34mThis is a blue text.\e[0m" Але я хочу, щоб формат був визначений у printf: printf '%-6s' "This is text" Зараз я спробував кілька варіантів, як додати колір, але безуспішно: printf '%-6s' "\e[1;34mThis is text\e[0m" Я навіть намагався додати код атрибута до форматування …
90 linux  bash  colors  printf 

13
Як працює ця програма?
#include <stdio.h> int main() { float a = 1234.5f; printf("%d\n", a); return 0; } Він відображає 0!! Як це можливо? Що таке міркування? Я навмисно дав %dу printfзаяві знак вивчення поведінки printf.
88 c++  c  memory  printf  endianness 

10
Чому printf (“% f”, 0); дати невизначену поведінку?
Заява printf("%f\n",0.0f); відбитки 0. Однак заява printf("%f\n",0); друкує випадкові значення. Я усвідомлюю, що демонструю якусь невизначену поведінку, але не можу зрозуміти, чому саме. Значення з плаваючою комою, в якому всі біти дорівнюють 0, все ще є дійсним floatзі значенням 0. floatІ intмають однаковий розмір на моїй машині (якщо це навіть …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.