您的位置:

c++ printf输出格式详解

一、printf输出格式

#include<iostream>
using namespace std;

int main()
{
    int a = 123;
    double b = 3.1415926;
    char c = 'A';
    char str[] = "Hello, World!";

    printf("%d\n",a);   //打印整型变量a
    printf("%f\n",b);   //打印浮点型变量b
    printf("%c\n",c);   //打印字符型变量c
    printf("%s\n",str); //打印字符串变量str

    return 0;
}

printf是c语言和c++中用来格式化输出的函数,可以输出不同类型的变量值。例子中的%d表示输出的是一个整型变量,%f表示输出一个浮点型变量,%c表示输出一个字符型变量,%s表示输出一个字符串变量。

二、printf输出格式c语言

#include<stdio.h>

int main()
{
    int a = 123;
    double b = 3.1415926;
    char c = 'A';
    char str[] = "Hello, World!";

    printf("%d\n",a);   //打印整型变量a
    printf("%f\n",b);   //打印浮点型变量b
    printf("%c\n",c);   //打印字符型变量c
    printf("%s\n",str); //打印字符串变量str

    return 0;
}

printf可以用于c语言和c++。在c语言中,格式化字符串中必须指定输出变量类型。例子中的%d表示输出的是一个整型变量,%f表示输出一个浮点型变量,%c表示输出一个字符型变量,%s表示输出一个字符串变量。

三、printf输出格式固定长度

#include<iostream>
using namespace std;

int main()
{
    int a = 123;
    double b = 3.1415926;

    printf("%10d\n",a);   //打印10位整型变量a
    printf("%10.2f\n",b);   //打印10位并保留2位小数的浮点型变量b

    return 0;
}

printf可以指定输出格式的固定长度。例子中的%10d表示输出的整型变量占用10位,不足的用空格补齐,%10.2f表示输出的浮点型变量占用10位并保留2位小数。

四、printf格式化输出格式

#include<iostream>
#include<cstring>
using namespace std;

int main()
{
    int a = 123;
    double b = 3.1415926;
    char c[] = "hello";
    char d[] = "world";

    printf("%-10d\n",a);   //左对齐输出10位整型变量a
    printf("%10.3f\n",b);   //右对齐输出10位并保留3位小数的浮点型变量b
    printf("%s %s\n",c,d);  //输出两个字符串变量

    char str[80];
    sprintf(str, "a=%d,b=%f,c=%s,d=%s", a, b, c,d);  //将多个变量格式化到一个字符串中
    printf("%s\n",str);     //输出格式化后的字符串

    return 0;
}

printf可以使用格式化字符串将多个变量格式化输出为一个字符串。例子中的%-10d表示左对齐输出10位整型变量a,%10.3f表示右对齐输出10位并保留3位小数的浮点型变量b,%s表示输出两个字符串变量。sprintf可以将多个变量格式化输出到一个字符串中,例子中将四个变量格式化输出到了str字符串中。

五、printf输出空格

#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
    int a = 1;
    int b = 100;

    printf("%5d%5d\n",a,b);    //分别输出两个整型变量,宽度为5

    cout<<setw(5)<<a<<setw(5)<<b<<endl;   //使用iomanip库输出两个整型变量,宽度为5

    return 0;
}

printf可以使用宽度来控制输出空格。例子中的%5d表示输出的整型变量占用5位,不足的用空格补齐。iomanip库可以使用setw函数来指定输出宽度,例子中使用setw(5)指定输出宽度为5。