write和sprintf的用法

来源:互联网 发布:网络游戏厅 编辑:程序博客网 时间:2024/06/02 16:24
write函数所在的头文件为 <unistd.h>
write有两种用法。一种是:
int write(int handle, void *buf, int nbyte);
handle 是文件描述符;
buf是指定的缓冲区,即指针,指向一段内存单元;
nbyte是要写入文件指定的字节数;返回值:写入文档的字节数(成功);-1(出错)
write函数把buf中nbyte写入文件描述符handle所指的文档,成功时返回写的字节数,错误时返回-1.
另一种是:write(const char* str,int n)
str是字符指针或字符数组,用来存放一个字符串。n是int型数,它用来表示输出显示字符串中字符的个数。
write("string",strlen("string");表示输出字符串常量



函数简介

功能

把格式化的数据写入某个字符串缓冲区。

头文件

stdio.h

原型

int sprintf( char *buffer, const char *format, [ argument] … );

参数列表

buffer:char型指针,指向将要写入的字符串的缓冲区。
format:格式化字符串。
[argument]...:可选参数,可以是任何类型的数据。
返回值:字符串长度(strlen)

相关函数

int sprintf_s(char *buffer,size_t sizeOfBuffer,const char *format, [argument] ... );
int _sprintf_s_l(char *buffer,size_t sizeOfBuffer,const char *format,locale_t locale ,[argument] ... );
int swprintf_s(wchar_t *buffer,size_t sizeOfBuffer,constwchar_t *format ,[argument]...);
int _swprintf_s_l(wchar_t *buffer,size_t sizeOfBuffer,const wchar_t *format,locale_t locale ,[argument]…);
template <size_t size>
int sprintf_s(char (&buffer)[size],const char *format, [argument] ... ); //仅存在于C++
template <size_t size>
int swprintf_s(wchar_t (&buffer)[size],const wchar_t *format ,[argument]...); //仅存在于C++

2参数说明及应用

例子

1
/*例子*/
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>//某个头文件
int main ()/*主函数“整数”类型*/
{
      charbuffer [50];/*“字符”类型的数组,下面共有50个元素。*/
      intn, a=5, b=3;/*三个变量都为“整数”类型*/
      n=sprintf(buffer, "%d plus %d is %d", a, b, a+b);/*赋予数值*/
      printf("[%s] is a string %d chars long\n",buffer,n);/*“格式输出”*/
 
      return0;/*“返回 零”
      也就是程序正常退出*/
}
输出结果:
[5 plus 3 is 8] is a string 13 chars long
//参考自百度百科
原创粉丝点击