linux 下 write 怎么写不进文件程序源码-------------------------------------------------#include sys
linux 下 write 怎么写不进文件
程序源码-------------------------------------------------
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <iostream>
using namespace std;
int main()
{
int fd;
char buffer[]="write!";
if(fd = open("t1.txt",O_WRONLY|O_CREAT,S_IRWXU | S_IROTH | S_IROTH) == -1)
{
cout<<"open file is fail"<<endl;
return -1;
}
if(write(fd,buffer,sizeof(buffer)) == -1)
{
close(fd);
cout<<"can't write!"<<endl;
return -1;
}
close(fd);
return 0;
}
用 g++ 可以编译通过而且文件可以执行
g++ -o write write.cpp
编译成可执行文件后执行并没有向想象的效果在 t1.txt 文件内写入 write! 而是在屏幕打印输出 write! 这个是什么问题?
[解决办法]
我记得标准库的API,写完要 flush一下,如调用fflush(fd),在close。
[解决办法]
[解决办法]
不是标准库 难道 fp 和buf要换个位置吗
