write函数(一个关于write函数用法的疑问)
本文目录
- 一个关于write函数用法的疑问
- ),write( )函数怎么个用法,可有人知道
- C语言中的Write函数
- 内核中使用write函数需要什么头文件
- write函数的用 法
- write()函数的返回值是什么
- matlab中的imwrite函数怎么用
一个关于write函数用法的疑问
先看下write函数的原型:
write(const unsigned char *buf,int num);
write函数第一个参数指针指向的是要写入的内容,整形i代表的是值,而非地址,而&i代表整形i值的内存地址,把地址&i强转为char*,只不过是符合函数参数格式的要求。
),write( )函数怎么个用法,可有人知道
先看下write函数的原型:
write(const unsigned char *buf,int num);
write函数第一个参数指针指向的是要写入的内容,整形i代表的是值,而非地址,而&i代表整形i值的内存地址,把地址&i强转为char*,只不过是符合函数参数格式的要求。
C语言中的Write函数
write()写文件函数
原形:int
write(int
handle,char
*buf,unsigned
len)
用法:write(文件句柄,缓冲区地址,缓冲区字节长度《最大65534》);
功能:将缓冲区的数据写入与handle相联的文件或设备中,handle是从creat、open、dup或dup2调用中得到的文件句柄。对于磁盘或磁盘文件,写操作从当前文件指针处开始,对于用O_APPEND选项打开的文件,写数据之前,文件指针指向EOF;对于设备,字节被直接传送到设备中;
返回值:实际写入的字节数(不包括回车符),出错时返回-1。
头文件:io.h
内核中使用write函数需要什么头文件
1、要用到unistd.h头文件。
2、 Write函数 用法: write函数所在的头文件为 《unistd.h》 write有两种用法。一种是: ssize_twrite(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“);表示输出字符串常量3、程序示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include 《stdio.h》
#include 《stdlib.h》
#include 《fcntl.h》
#include 《sys\stat.h》
#include 《io.h》
#include 《string.h》
int main(void)
{
int *handle; char string;
int length, res;/* Create a file named “TEST.$$$“ in the current directory and write a string to it. If “TEST.$$$“ already exists, it will be overwritten. */
if ((handle = open(“TEST.$$$“, O_WRONLY | O_CREAT | O_TRUNC, S_IREAD | S_IWRITE)) == -1)
{
printf(“Error opening file.\n“);
exit(1);
}
strcpy(string, “Hello, world!\n“);
length = strlen(string);
if ((res = write(handle, string, length)) != length)
{
printf(“Error writing to the file.\n“);
exit(1);
}
printf(“Wrote %d bytes to the file.\n“, res);
close(handle); return 0; }
write函数的用 法
write函数所在的头文件为 《unistd.h》
write有两种用法。一种是:
ssize_twrite(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);表示输出字符串常量
write()函数的返回值是什么
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“);表示输出字符串常量
matlab中的imwrite函数怎么用
imwrite函数用于保存图像,具体如下:
1、保存到当前文件夹下:imwrite(I,’abc.png’);
2、保存到当前文件夹下的一个子文件result下:imwrite(I,’./result/abc.png’);
3、保存到当前文件夹上一层的一个文件夹result下:imwrite(I,’../result/abc.png’);
其中I为要保存图像,abc.png为文件名,保存为png格式也可以是其他格式(jpeg, bmp, tif...)。
保存在matlab路径下的子文件夹中,需要提前要提前建立一个文件夹result才可以。
因此可以这么写:imwrite(I,’lena.jpg’,’quality’,80);
扩展资料:
关于imwrite函数
功能:该函数是把程序中的Mat类型的矩阵保存为图像到指定位置。
函数形式:bool imwrite(const string& filename, InputArray img, const vector《int》 ¶ms = vector《int》() )
参数列表:
filename:所需保存图像的文件目录和文件名,这里的文件名需要带有图像格式后缀。
img:img参数为图像数据来源,其类型为Mat.
params:用来设置对应图片格式的参数,因为一般情况下这些图片格式都是经过了压缩的,这里就是设置这些压缩参数来控制图片的质量。该参数是一个vector《int》类型,分别存paramid_1,paramValue_1,paramid_2,paramValue_2,
也就是说存入一对属性值。若不设置该参数,则程序会自动根据所保存的图像格式采用一个默认的参数。