Character limit in using fwrite?

8 views (last 30 days)
Sam
Sam on 21 Dec 2013
Commented: Sam on 22 Dec 2013
I have a char string that I am trying to write to a .NET file, which is somewhat similar to a .txt file. However, I've noticed that strings above a certain length (seems to be around 100 characters) return the error message
Error using fwrite
Invalid file identifier. Use fopen to generate a valid file identifier.
Strings under this length write to my file directory just fine.
This is my first time using these MATLAB data writing commands, so I'm just using the basic file writing commands right now:
clear fileID
fileID = fopen(text, 'w');
fwrite(fileID, text);
fclose(fileID);
where text is my character string. How can I resolve this issue for these longer char strings?
Also, two somewhat related questions, if you don't mind:
(1) how do I write this string to a particular file extension, like .NET?
(2) is there a way to specify a name for the file that I'm writing to?
Thanks!

Accepted Answer

Image Analyst
Image Analyst on 21 Dec 2013
Edited: Image Analyst on 21 Dec 2013
text is a built in function name. That could be your problem. Pick a different name, and use your actual string variable name instead of text.
What is fileID? Is it -1? If so, you were unable to write to the file, possibly because of permission denials or the disk is full or something else.
  13 Comments
Walter Roberson
Walter Roberson on 21 Dec 2013
filename = ['test_', datestr(now, 'yyyymmddHHMMFFF'), '.txt'];
or equivalently,
filename = sprintf('test_%s.txt', datestr(now, 'yyyymmddHHMMFFF'));
Sam
Sam on 22 Dec 2013
Got it. Thanks very much for your help, Walter and Image Analyst!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!