"Error using fscanf"
5 ビュー (過去 30 日間)
古いコメントを表示
i got error which saying "Invalid file identifier. Use fopen to generate a valid file identifier"
This is the code:
function [z] = Stereo( directory, imagename, numImages)
% ***********************************************************************
% Read the lights and directions:
% ***********************************************************************
lightfile = strcat( directory, '/', 'lights2.txt')
fid = fopen(lightfile, 'r');
numLights = 1;
numLights = fscanf(fid, '%d \n', [1]);
LightMatrix = [];
for i = 1:numLights
lightDir = fscanf(fid, '%f %f %f \n', [3]);
lightDir = lightDir/norm(lightDir);
lightMatrix(i,:) = lightDir;
end
this is the lights2.txt file
Can someone help me i m so curious about this. Bigh thanks for your help
1 件のコメント
Stephen23
2023 年 5 月 19 日
編集済み: Stephen23
2023 年 5 月 19 日
Replace this command
strcat( directory, '/', 'lights2.txt')
with
fullfile( directory, 'lights2.txt')
And forget about using FOPEN & FSCANF: just use READMATRIX to import that file data:
If you use FOPEN then always always always remember to FCLOSE afterwards!
採用された回答
Askic V
2023 年 5 月 19 日
編集済み: Askic V
2023 年 5 月 19 日
You're getting this error because the path to your file is not correct.
this is where the problem is:
lightfile = strcat( directory, '/', 'lights2.txt')
Print/Display this variable to see the path to the file.
BTW, if your file is structured like in the posted image, I suggest to use readmatrix function instead of fopen and fscanf.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Low-Level File I/O についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!