2012-02-28 3 views
0

이것은 처음으로 디렉토리로 작업합니다.mkdir 및 ofstream 관련 문제

나는이 코드 조각이 : 내가 의도 한대로

void initialize() 
{ 
    mkdir("/cydrive/c/enc/user", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); 
    mkdir("/cygdrive/c/enc/misc", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); 
    ofstream user ("/cygdrive/c/enc/misc/usercount.txt"); 
    if (user.is_open()) 
    user << "0 0" << endl; 
    user.close(); 
    ofstream prompt ("/cygdrive/c/enc/misc/prompt.txt"); 
    if (prompt.is_open()) 
    prompt << "CLI>"; 
    prompt.close(); 
    ofstream randomuser ("/cydrive/c/enc/user/rando.txt"); 
    if (randomuser.is_open()) 
    randomuser << "garbageinfo"; 
    randomuser.close(); 
} 

사용자 및 프롬프트 ofstreams 정확하게 행동하는,하지만 내가 ENC/사용자 디렉토리를 열려고 할 때마다 단순히 열리지 않습니다. 이 불일치로 인해 무슨 일이 일어나고 있는지 미쳐 버릴 수 있습니다.

답변

1

mkdir()이 디렉토리 이름의 오타로 인해 실패한 것 같습니다. 내 생각 :

mkdir("/cydrive/c/enc/user", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); 

가 있어야한다 :

mkdir("/cygdrive/c/enc/user", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); 
     ^

그렇지 않은 경우는, 성공을 위해 mkdir()의 반환 값을 확인하십시오

if (0 != mkdir("/cydrive/c/enc/user", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) && 
    EEXIST != errno) 
{ 
    std::cerr << "Failed to create directory: "<< strerror(errno) << "\n"; 
} 
+0

백만 감사를 당신에게! 피곤한 눈은 그렇게 간단한 것을 잡지 못했습니다. 나는 투표 할 것이다 그러나 나는이 부분 새로운 아주 새로운이다. – Sarah

+0

문제 없습니다. 에 오신 것을 환영합니다. – hmjd

+0

이것이 해결되면 답변을 수락 할 수 있습니다 (답변 옆의 체크 표시를 클릭하면 http://stackoverflow.com/faq 참조)? – hmjd