У меня есть файл bisht.txt и pranav.txt. Я хочу скопировать содержимое из файла bisht.txt в pranav.txt. Считываемый системный вызов работает правильно, потому что я напечатал строку сразу после нее, в которой напечатано точное содержимое файла, но когда я проверяю содержимое целевого файла pranav.txt, в него записывается какой-то китайский язык, но нет. символов такие же, как и нет. байтов, упомянутых в системном вызове записи. Пожалуйста помоги!ввода/вывода с использованием системных вызовов
#include<unistd.h>
#include<fcntl.h>
#include<stdio.h>
main()
{
//FILE Descriptor rdes and wdes
/*Open file pranav.txt in write-only mode,
O_CREAT creates file if it does not exist and open bisht.txt in read-only mode*/
int rdes = open("bisht.txt",O_RDONLY);
int wdes = open("pranav.txt", O_CREAT | O_WRONLY);
char str[10];
if(wdes!=-1 && rdes!=-1)
{
//To read
read(rdes,&str,10);
//To write on file
write(wdes,&str,10);
}
else
{
//Print "error" on screen
write(2,"File_Opening_Error",18);
}
close(wdes);
close(rdes);
}
У вас есть 10 или меньше байтов в файле bisht.txt? –
Yup, я написал «Бишт» в нем только для тестирования –