问个c++输出格式的问题

来源:百度知道 编辑:UC知道 时间:2024/06/04 15:29:23
先输出一个字符串(长度小于20),然后在该行头开始第20位处输出一个INT数

比如
abddfalsdf 20
adkfa 12
dsj 3

谢谢
不是这个意思,百度的网页很诡异,应该下面这个意思
abddfalsdf##################20
adkfa#######################12
dsj#########################3

#代表空格

就是,先输出一个字符串,然后从该行头开始计算,第20位的地方输出INT数,主要是这个格式的设置我不会

谢谢

函数应该改一下,像这样:
void print( const char* psz, int n )
{
assert(psz);
int nlen = strlen(psz); assert(nlen < 20);
printf(psz);
int nspc = 20 - nlen;
for(int i = 0; i < nspc; i++){
printf(" ");
}
printf("%d\n", n);
}

需要给定一个字符串和整数吧,下面给定一个函数。

// 打印一行。
void print( char*p, int n ) // 略去合法性判断
{
int i = 0;
while( i < 20 )
{
if ( p[i] == '\0' )
break;

printf( "%c", p[i++] );
}

printf( "%d\n", n );
}

调用如下:
print( "abddfalsdf", 20 );

void main()
{
char a[20]={"adafsdfasa"};
printf("%-20s",a);
printf("%d\n",2);
}

一样能实现的,这个就是C里面的输出格式,关键就是"%-20s",你试试看