(Любой другой читает и в buf ложит)
Код: Выделить всё
int fd;
ssize_t nread;
char buf[10240];
fd = open("bindata", O_RDONLY);
nread = read(fd, buf, 10240);
printf("%s %d", buf, nread);
Что делать?
Код: Выделить всё
int fd;
ssize_t nread;
char buf[10240];
fd = open("bindata", O_RDONLY);
nread = read(fd, buf, 10240);
printf("%s %d", buf, nread);
Код: Выделить всё
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <error.h>
int main()
{
int fd;
ssize_t nread;
char buf[1024];
if( (fd = open("bindata", O_RDONLY)) == -1)
{
perror("ОШИБКА открытия файла");
exit(1);
}
if( (nread = read(fd, buf, 1024)) == -1)
{
perror("ОШИБКА чтения из файла");
exit(1);
}
printf("%s\n\n%d %d\n", buf, strlen(buf), nread);
close(fd);
return 0;
}
Код: Выделить всё
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <error.h>
int main()
{
int fd;
ssize_t nread;
char buf[1024];
if( (fd = open("bindata", O_RDONLY)) == -1)
{
perror("ОШИБКА открытия файла");
exit(1);
}
perror("debug");
if( (nread = read(fd, buf, 1024)) == -1)
{
perror("ОШИБКА чтения из файла");
exit(1);
}
perror("debug");
printf("%s %d %d\n", buf, strlen(buf), nread);
perror("debug");
close(fd);
perror("debug");
return 0;
}
Код: Выделить всё
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <error.h>
int main()
{
int fd;
ssize_t nread, w;
char buf[1024];
if( (fd = open("bindata", O_RDONLY)) == -1)
{
perror("ОШИБКА открытия файла");
exit(1);
}
if( (nread = read(fd, buf, 1024)) == -1)
{
perror("ОШИБКА чтения из файла");
exit(1);
}
close(fd);
if( (fd = open("newfile", O_WRONLY|O_CREAT, 0644)) == -1)
{
perror("ОШИБКА открытия файла");
exit(1);
}
if( (w = write(fd, buf, nread)) == -1)
{
perror("ОШИБКА записи в файл");
exit(1);
}
close(fd);
return 0;
}