смешное обобщение
В питоне:
выводит:
То же самое в перле и FreeBSD libc.
Но glibc выводит простой процент без расширения поля (две строки с |%|), gcc ругается, что формат неправильный, причём он в принципе не опознаёт такую возможность:
а C99 и Posix хором говорят "The complete conversion specification shall be %% ."
print '|%10%|' % ()
print '|%-10%|' % ()
выводит:
| %|
|% |
То же самое в перле и FreeBSD libc.
Но glibc выводит простой процент без расширения поля (две строки с |%|), gcc ругается, что формат неправильный, причём он в принципе не опознаёт такую возможность:
t.c:5: warning: conversion lacks type at end of format
t.c:5: warning: unknown conversion type character '|' in format
t.c:6: warning: conversion lacks type at end of format
t.c:6: warning: unknown conversion type character '|' in format
а C99 и Posix хором говорят "The complete conversion specification shall be %% ."
no subject
Лично я всегда воспринимал "%%" как экранирование, и так и реализовывал бы (т.е. как в glibc). А теперь уже не удивлюсь, если, например, $$ в make окажется встроенной readonly-переменной со значением "$". Даже проверил - нет, всё-таки ${$} не работает. :)
no subject
no subject
#include <stdio.h> int main() { printf("|%10%|\n"); printf("|%-10%|\n"); return 0; }no subject
Удваивания второго процента нет.
Символа типа преобразования нет, не помню, можно ли так.
no subject
no subject