C++ printf和cout区别

在C++中,printf和cout都是用于输出的函数,但两者有一些区别。main区别有:

  1. printf来自C语言,cout是C++的标准库函数。
  2. printf需要导入cstdio头文件,cout需要导入iostream。
#include <cstdio>
#include <iostream>
  1. printf依赖格式化字符串,cout可以通过流插入运算符实现格式化输出。
printf("Hello %s", name); 

cout << "Hello " << name; 
  1. cout可以重载<<运算符进行链式插入,printf不可以。
cout << "Hello " << name << " !" << endl;
  1. cout通过缓冲区输出,效率更高;printf直接系统调用输出。
  2. cout可以同时接收多种数据类型,printf需要手动转换。
cout << 1 << " " << 3.14; 

printf("%d %.2f", 1, 3.14);
  1. printf更适合输出格式化数据,cout支持更丰富的流操作。
// printf格式化输出
printf("%-10s %8.2f\n", name, score);  

// cout格式化需要处理
cout << left << setw(10) << name << setw(8) << fixed << setprecision(2) << score << endl;

下面是一个应用示例:

#include <iostream>
#include <cstdio>

int main() {

  int age = 18;
  double gpa = 3.5;

  printf("Age: %d, GPA: %.2f", age, gpa);

  cout << "Age: " << age << ", GPA: " << gpa;

  return 0;
}

综上所述,printf和cout都是C/C++中的输出函数,各有特点,使用需要根据具体场景选择。掌握它们的区别可以帮助我们更好地应用输出函数。