4
나는 이미 원하는 것을 할 수있는 방법을 찾았지만 더러워 보입니다. 난 그냥 간단한 일특정 디렉토리에 파일을 만드는 방법
sprintf(serv_name, "Fattura-%i.txt", getpid());
fd = open(serv_name, PERMISSION | O_CREAT);
if (fd<0) {
perror("CLIENT:\n");
exit(1);
}
에게하고 싶은 나는 새 파일이 대신 내 프로그램의 디렉토리에 작성, 그것은 하위 디렉토리에서 직접 만들어지는 것을 원한다. 예를 들어 ./program/ ./program/newdir/ ./program/newdir/
나는 파일에 대해 원하는 경로 인 "serv_name"문자열을 직접 넣으려고했다. like
sprintf("./newdir/fattura-%i.txt",getpid());
/는 아니지만 /를 사용해보십시오. 어떻게 할 수 있습니까? 나는이 프로그램의 끝에서 알게되었다 유일한 방법은, 풋 :
mkdir("newdir",IPC_CREAT);
system("chmod 777 newdir");
system("cp Fattura-*.txt ./fatture/");
system("rm Fattura-*.txt");
MMH 메신저 확실하지 .. 난 이미이 프로그램의 일부라고 말했하지 않은 곳 우리가 디렉토리에서 이동하는 파일입니다, 내가 소켓에서받는 파일입니다 .. 그리고 나는 위험없이 fopen을 사용할 수 있는지 모른다. – ReTanica
파일을 가져온 위치는 중요하지 않다. 디스크에 있습니다. – piokuc
당신의 솔루션은 잘 작동했습니다 !! 고맙습니다! – ReTanica