Вставить начальные пробелы в строку для соответствия формату - PullRequest
0 голосов
/ 05 марта 2011

Мне нужно создать строку с фиксированным количеством символов.Формат говорит, что строка должна быть заполнена начальными пробелами, если она недостаточно длинна.

Как (элегантно) добавить эти начальные пробелы?

PS Я знаю, что могу сосчитатьдлина строки и пробел, пока я ее не заполню, но ... я чувствую, что должен быть более простой (более элегантный) способ сделать это.Возможно с регулярными выражениями?

Ответы [ 2 ]

1 голос
/ 05 марта 2011

Метод String.PadLeft (Int32, Char)

http://msdn.microsoft.com/en-us/library/92h5dc07.aspx

string str = "data";
char pad = ' ';

Console.WriteLine(str.PadLeft(10, pad));    // Displays "      data".
0 голосов
/ 05 марта 2011

Немного ниже, непроверенный: char * padLeft ( char *s, size_t size ) { // left-pad s to make a string of size chars char *d = malloc( size + 1 ); if ( d != NULL ) { memset( d, ' ', size ); strcpy( &d[size - strlen(s)] - 1, s ); // copy s (incl '\0'), filling the right part of d } return d; }

...