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、程序示例:
#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 }
_lopen, _lcreate write close你要的这些函数都是windows上的,linux没有原型镇激羡的函御拍数,只能功能性代换,需铅核要你重新写程序。
呵呵,你注意到没?所有文件的第2行都报错。说明错误不在文件本身,而在被include的头文件里。你到头文件里去检查下括号有没有匹配,分号有没有遗漏。 注意,头文件可能又会嵌套另外的头文件。你最好把自己所有的头文件都检查一遍。 系统自带的头文件肯定不会有问题,就不必管了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)