这个代码可以正常编译,但是在运行的时候会乱码。
#include <sys/types.h>
#include<fcntl.h>
#include<stdio.h>
#include<unistd.h>
#include<string.h>
int main() {
int filedes;
ssise_t nread;
off_t newpos;
char buffer[1024];
char content[] = "Hello my friend!!\n";
char content2[] = "I love you\n";
filedes = open("data.txt", O_RDWR);
nread = read(filedes, buffer, 1024);
printf("%s\n", buffer);
newpos = lseek(filedes, (off_t)3, SEEK_SET);
if (newpos == -1) {
printf("error");
}
write(filedes,content,strlen(content));// 这里代表什么意思?
// 如果这里改成write(filedes,content2,strlen(content2));的话,又是代表什么意思呢
newpos = lseek(filedes, (off_t)3, SEEK_SET);
nread = read(fildes, buffer, 1024);
printf("%s\n", buffer);
close(fildes);
return 0;