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')

2 views (last 30 days)
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

Answers (1)

Walter Roberson
Walter Roberson on 16 Mar 2020
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 Comments
Steven Lord
Steven Lord on 19 Mar 2020
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 on 19 Mar 2020
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.

Sign in to comment.

Categories

Find more on File Operations in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!