内核中使用write函数需要什么头文件
2个回答
2017-07-11
展开全部
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[40];
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; }
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[40];
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; }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询