может кто-то объяснить мне, почему открытие файла не увенчалось успехом? почему печать «файла» даст -1? Это проблема с char *source
?Открытие файла дает неожиданное возвращаемое значение
int opf(char *source){
int file;
file=open(source,O_RWR);
printf("%d",file);
}
А можно сделать что-то вроде этого: файл находится в другой директории, так
int opf(char *source){
int file;
file=open("some_directory/ %s",source,O_RWR);
printf("%d",file);
}
здесь я получаю «делает целое число от указателя без литым» ошибки. Я пробовал много разных вещей, но я думаю, что проблема кроется в том, что я не правильно понимаю понятия.
Что такое 'O_RWR? Вы имеете в виду 'O_RDWR? –
Что касается вашего второго и несвязанного вопроса (вы должны действительно написать два вопроса), найдите и прочитайте о 'snprintf'. –
Это не имеет никакого отношения к указателям; вы пытаетесь использовать 'open', как будто это' printf'. Но это не 'printf'. Это 'открытый'. –