2010-07-26 3 views
3

내가 파일 이름이 존재하지 않기 때문에fopen이 처음 실패하는 이유는 무엇입니까?

fid = fopen(filename,'w') 

를 호출하여 새 파일을 만들 matlab에 사용하고, 그것은 새로운 파일을 생성하고 나에게 유효한 파일 기술자를 제공해야합니다. 대신 -1을 반환합니다. 그러나 코드를 다시 실행하면 fid = 3이됩니다.

우분투에서 실행되고 있지만 분명히 윈도우에서 제대로 작동하며 이유를 찾을 수 없습니다. 이 도움이된다면

- 마이크

+2

당신이 무엇을 말하는지 알기 위해 메시지를 얻으려고 했습니까? '[fid, message] = fopen (filename, 'w')'호출에 또 다른 출력 인자를 추가하면된다. – gnovice

답변

2

확실하지,하지만 'w'파일을 생성하고 그래서 -1을 반환 할 수와 fopen을, 폴더가 존재하지 않는 경우 있습니다.

+0

누군가 elses 코드를 고치고 있는데, 어떤 명령으로 폴더가 생성됩니까? – msandbot

+0

matlab에는 자체 mkdir 명령이 있습니다. – second

0

문서 here에서 두 개의 출력 인수 형식 fopen을 확인해야합니다. 이것은 당신이 물건을 할 수있게 해줍니다.

[fh, failmessage] = fopen(fname, 'wt'); 
if fh == -1 
    error('Failed to open %s: %s', fname, failmessage); 
end 
관련 문제