1.iostream-iostream.h-stdio.h 三者的区别
2.printf,sprintf,fprintf三者的区别
sprintf在VS2019下已经改为sprintf_s
1.iostream-iostream.h-stdio.h 三者的区别
#include <iostream> 非标准的输入输出流 需要 using namespace std; 才可以 cout<<;
#include <iostream.h> 标准的输入输出流 直接 cout<<;
#include <stdio.h> C的I/O库 printf(...);scanf(...)
一般情况下 有“.h”的就是非标准的。
不用“.h”的就是标准的。
自定义用“ ”,
库函数用<>.
2.printf,sprintf,fprintf三者的区别
1.printf,是把格式化字符串输出到标准输出 ,对应终端的屏幕 。
头文件: stdio.h。
函数原型:int printf ( const char * format, ... );
printf("格式化字符串",输出表列)
(1)字符串常量;
(2)格式控制字符串;
(3)转义字符。
2.sprintf,是把格式化字符串输出到指定字符串,所以参数比printf多了个char * ,那就是目标字符串的地址.
头文件:stdio.h
函数原型:int sprintf(char *buffer, const char *format, [argument]...)
(1)buffer:是char类型的指针,指向写入的字符串指针;
(2)format:格式化字符串,即在程序中想要的格式;
(3)argument:可选参数,可以为任意类型的数据;
3.fprintf,是把格式化字符串输出到指定文件中,所以参数比printf多了个文件指针File * ,那是目标文件的文件描述符(文件流指针)
代码与示例
#include<stdio.h>
#include<iostream>
using namespace std;
void test(void)
{
char str1[] = {"str1"};
char str2[] = {"str2"};
char str3[200] = {0};
sprintf_s(str3,"%s+%s\n",str1,str2);//sprintf_s 把str1 str2 放到str3中
printf("%s\n",str3); //printf 把str3 打印到屏幕上
}