fopen is returning ''

조회 수: 6 (최근 30일)
Mohan
Mohan 2011년 11월 22일
Hello,
While I am trying to open a file using fopen the file id is returning ''.
I am attaching the error here, when using the whole file location it is working fine but when giving variables its not.
fopen(strcat(DirPath,'/',SbjList{1}(1,:),'/',SbjList{2}(1,:),'/FREESURFER/stats/aseg.stats'))
ans =
''
K>> strcat(DirPath,'/',SbjList{1}(1,:),'/',SbjList{2}(1,:),'/FREESURFER/stats/aseg.stats')
ans =
'/raid6/data9/CSP4REST/FS5.1_RES_5/5002/tp1/FREESURFER/stats/aseg.stats'
K>> fopen('/raid6/data9/CSP4REST/FS5.1_RES_5/5002/tp1/FREESURFER/stats/aseg.stats')
ans =
12

답변 (2개)

Walter Roberson
Walter Roberson 2011년 11월 22일
strcat() is returning a cell array that contains the string. You cannot fopen() a cell array.
I would suspect that DirPath is a cell array containing one string.
I suggest you use
[fid, message] = fopen(strcat(DirPath,'/',SbjList{1}(1,:),'/',SbjList{2}(1,:),'/FREESURFER/stats/aseg.stats'))
and look at the message generated.
If I am correct in my suspicion, changing to DirPath{1} should fix the problem.

Mohan
Mohan 2011년 11월 22일
Hello Walter,
Thanks for the information but still when I debugging it, DirPath is just a variable having the path. When I give it in command window the following result popped up.
K>> DirPath
DirPath =
/raid6/data9/CSP4REST/FS5.1_RES_5.
and when I give DirPath{1} it showed an error
??? Cell contents reference from a non-cell array object.
and when I used [fid, message], both of them returning null ('').
  댓글 수: 1
Walter Roberson
Walter Roberson 2011년 11월 22일
In any case, the strcat() is returning a cell array. You can see that by examining your output and examining the output differences for the following two expressions:
'Hello'
{'Hello'}

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by