C++-I/O输出-iostream-iostream.h-stdio.h-printf,sprintf,fprintf

1.iostream-iostream.h-stdio.h 三者的区别
2.printf,sprintf,fprintf三者的区别
 
 
sprintfVS2019下已经改为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 打印到屏幕上


}
posted @ 2019-12-31 19:13  jasmineTang  阅读(104)  评论(0)    收藏  举报