printf、sprintf、fprintf、typeof的一个使用小示例

代码示例

#include <iostream>
#include "complex.h"

//typeof的使用
#define swap(a, b) { \
    __typeof(a) __temp = a; \
    a = b; \
    b = __temp; \
}
int main() {
    int n;
    scanf("%d", &n);    // 标准输入stdin
    printf("%d\n", n);  // 标准输出stdout
    char str[100] = {0};
    char buffer[100] = {0};
    char *p = str;
    char *q = buffer;
    sprintf(p, "%d.%d.%d.%d", 192, 168, 1, 2); // sprintf表示输出到字符串中
    printf("%s\n", p);
    if (n & 1) {
        sprintf(q, "(%s)", p);  // 加括号
        swap(p, q);
    }
    if (n & 2) {
        sprintf(q, "[%s]", p);
        swap(p, q);
    }

    if (n & 4) {
        sprintf(q, "{%s}", p);
        swap(p, q);
    }
    printf("%s\n", p);
    FILE *fout = fopen("output", "w");
    fprintf(fout, "str = %s\n", p);       // fprintf()表示输出到文件中
    fprintf(stdout, "stdout = %s\n", p);  // 一切皆文件
    fprintf(stderr, "stderr = %s\n", p);  // 标准错误输出
    return 0;
}

标准错误不会被标准重定向(>)到文件中

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值