我必须创建一个具有固定数量字符的字符串。格式表示字符串必须填充前导空格,以防它不够长。
我如何(优雅地)添加这些前导空格?
P.S。我知道我可以计算字符串的长度和空格,直到我填充它...但我觉得必须有一种更简单(更优雅)的方式。也许用正则表达式?
答案 0 :(得分:1)
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".
答案 1 :(得分:0)
稍低一点,未经测试:
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;
}