Я пытаюсь использовать chdir для изменения рабочего каталога моего процесса. Скажем, у меня есть каталог Apple в моем текущем каталоге. Почему, когда я ввожу яблоко в подсказке, возвращаемый результат равен -1? Это потому, что когда я ввожу яблоко, символ «\n» также помещается в конец строки? Кроме того, какой смысл менять каталог, если я могу просто использовать переменную для его хранения?
#include<stdio.h>
#include<string.h>
#include<errno.h>
#include<unistd.h>
int main(void){
char path[256];
fgets(path, 256, stdin);
printf("%s", path);
int result = chdir(path);
if(result != 0){
printf("%d\n", result);
}
}
chdir()
смотрите здесь: man7.org/linux/man-pages/ man2/chdir.2.html или введитеman 2 chdir
на консоли. - person alk   schedule 20.09.2015char *newline = strstr( path, "\n"); if (newline) { *newline = '\0';}
- person user3629249   schedule 21.09.2015