"Error using fscanf"

5 ビュー (過去 30 日間)
pizzaa
pizzaa 2023 年 5 月 19 日
コメント済み: pizzaa 2023 年 5 月 19 日
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
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
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.
  3 件のコメント
pizzaa
pizzaa 2023 年 5 月 19 日
can u help me with the code in using readmatrix
pizzaa
pizzaa 2023 年 5 月 19 日
Nice ty so much

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLow-Level File I/O についてさらに検索

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by