您的位置:首页 > 其它

C printf 格式输出字符串

2013-01-23 08:36 1061 查看
s格式符:用来输出一个字符串。

%s 用来输出一个字符串,不含双引号. 例:printf("%s","CHINA");

%ms m指定宽度(字符串长度小于m时左补空格,大于时按实际宽度输出)

%-ms 左对齐,不足m时右补空格

%m.ns 输出占m列,只取字符串中左端n个字符.这n各字符输出在m列的右侧,左补空格.

%-m.ns 同上,右补空格

int _tmain(int argc, _TCHAR* argv[])
{
float d=3.14;
printf("d=%.10e\n",d); //这里输出的6位以后的都是垃圾数据了,不准确

char ch[20];
strcpy(ch,"123456780123");
int n = 2,m = 10;
//*.* 呢,前边的*定义的是总的宽度,后边的定义的是输出的个数。
//如果后边的比前边的小,则使用空格在左侧补够m位。
printf("%*.*s\n",m,n,ch);//这里输出“        12”
printf("%*.*s\n",n,m,ch);//这里输出“1234567890”
//补充,如果strlen(ch) < m的话,就输出strlen位 例如:
strcpy(ch, "1234678");
//这里结尾使用个hh作为输出,是为了更好的显示出输出12345678后到底光标到了那里
printf("%*.*shh\n",m,n,ch);//这里输出“        12hh”
printf("%*.*shh\n",n,m,ch);//这里输出“12345678hh”
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: