0
我正在嘗試向文件寫入一個簡單的東西,看起來AIO不起作用。可能是什麼問題?我知道有額外的頭是不必要的。當我嘗試寫一個簡單的文本時,aio_write()不工作
#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<string.h>
#include<errno.h>
#include<stdlib.h>
#include<aio.h>
const int SIZE_TO_WRITE = 100;
char buffer[100];
struct aiocb cb;
int main()
{
int file = open("samp", O_CREAT|O_RDWR|O_TRUNC,0664);
strcpy(buffer,"Sample");
cb.aio_nbytes = SIZE_TO_WRITE;
cb.aio_fildes = file;
cb.aio_buf = buffer;
if(aio_write(&cb) == -1){
printf("ERROR");
}
while(aio_error(&cb) == EINPROGRESS)
close(file);
return 0;
}
是的我的意思是忙着等待,謝謝我改變了我的代碼。但我無法讀取它說「gedit無法檢測到字符編碼」的文件。我正在使用debian。 – CrimsonKing
@IsmailHatip:在「Sample」測試之後,您正在該文件中編寫94個字符的垃圾(好的,這裏是零)。如果要將其作爲普通文本文件讀取,請用文本填充緩衝區或寫出較少的文本。 – Mat
那麼這是工作感謝您的評論。 – CrimsonKing