My error is the ever popular ::::Error using fprintf Invalid file identifier. Use fopen to generate a valid file identifier. Error in pro1 (line 7) fprintf(fileID,'edges\t initial_nodes\t nodes_after_reduction\t difference \n')

5 ビュー (過去 30 日間)
if g == 1
fileID = fopen('output2\cycle_graph_output.txt','w')%Creates a output text file in folder output2
fprintf(fileID,'edges\t initial_nodes\t nodes_after_reduction\t difference \n')
myfolderinfo = dir('cycle_graph') ; %lists folder contents
N = length(myfolderinfo) ;
so the code is working perfectly when i'm using the Matlab in my local system.
But its generating the error when i tried to run it on Matlab online. What changes can i make to make it work on Matlab online

回答 (1 件)

Walter Roberson
Walter Roberson 2020 年 3 月 16 日
MATLAB Online does not use MS Windows; it uses Linux. The directory separator is / not \
MS Windows is happy to use / instead of \ so you should just change the \ to /
Better yet, use fullfile()
... And of course make sure you have a directory named output2 relative to where you are running the code.
  6 件のコメント
Steven Lord
Steven Lord 2020 年 3 月 19 日
Call fopen with two outputs and show us both the output values that get displayed when you run that code in MATLAB Online.
Walter Roberson
Walter Roberson 2020 年 3 月 19 日
fileID = fopen('cycle_graph_output4.txt','w')%Creates a output text file
would be expected to display a number as well as creating the output file. If the number is negative then file creation failed; if the number is positive then file creation worked.
On MATLAB online, what shows up if you execute this command:
!pwd; ls -ld .; whoami
Note that the ! at the beginning is part of the command.

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

カテゴリ

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

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by