Предложения Microsoft .NET 3.5 Набора Обучения Улучшениям это содержит документацию и пример кода для ADO.NET EF
Вы можете указать ширину в строковых полях, например
printf("%-20s", "initialization...");
, и тогда все, что будет напечатано с этим полем, будет дополнено пробелами до указанной вами ширины.
-
] выравнивает текст в этом поле по левому краю.
printf
позволяет форматировать с помощью спецификаторов ширины. например,
printf( "%-30s %s\n", "Starting initialization...", "Ok." );
Вы должны использовать спецификатор отрицательной ширины, чтобы указать выравнивание по левому краю, потому что по умолчанию используется выравнивание по правому краю.
Также имеется модификатор % n
, который может помочь в определенных обстоятельствах. Он возвращает столбец, в котором до сих пор находилась строка. Пример: вы хотите записать несколько строк, которые находятся в пределах ширины первой строки, как таблица.
int width1, width2;
int values[6][2];
printf("|%s%n|%s%n|\n", header1, &width1, header2, &width2);
for(i=0; i<6; i++)
printf("|%*d|%*d|\n", width1, values[i][0], width2, values[i][1]);
напечатает 2 столбца одинаковой ширины любой длины, две строки header1
и header2
может иметь.
Я не знаю, все ли реализации имеют % n
, но Solaris и Linux имеют.
Начните с использования табуляции, модификатора символа \ t . Он переместится в фиксированное место (столбцы, терминальный жаргон). Однако это не помогает, если есть различия, превышающие ширину столбца (4 символа, если я правильно помню).
Чтобы исправить это, напишите свой «OK / NOK», используя фиксированное количество табуляций (5? 6?, Попробуйте), затем верните ( \ r ) без новой строки и напишите свое сообщение.
Существует также довольно нетехнологичное решение - подсчитывать добавление пробелов вручную, чтобы ваши сообщения выстраивались в линию. Ничто не мешает вам включать несколько завершающих пробелов в строки сообщения.