I wanna create a txt file and assign data from matlab variables into this file. The point is I wanna create txt file without opening any file like in the case of "save as" in world or excel. I also want that user can choose directory and file name.
Show older comments
for example,
p = rand(5, 3)
startingFolder = 'C:\Program Files\MATLAB'
if ~exist(startingFolder, 'dir')
startingFolder = pwd
end
defaultFileName = fullfile(startingFolder, '*.txt*')
[baseFileName, folder] = uigetfile(defaultFileName, 'Select a file')
if baseFileName == 0
return
end
fullFileName = fullfile(folder, baseFileName)
save(fullFileName, 'p', 'q', '-ASCII')
in here, I want that users don't have to need to open any file before saving data into this file , like in the "save as". So users would choose path and file name in the same dialog box once, then file would be saved directly without creating a blank txt file before.
Answers (1)
Iain
on 28 May 2013
0 votes
Change uigetfile to uiputfile.
6 Comments
sermet
on 28 May 2013
Iain
on 28 May 2013
Is the selected filename C:\Users\Hp\Desktop\xxx.txt* ? The * will cause issues.
sermet
on 28 May 2013
Iain
on 28 May 2013
A quick hack would be:
fullFileName(fullFileName == '*') = [];
I think you have an extraneous * in your default file extension, if you remove that, it ought to work.
sermet
on 28 May 2013
Iain
on 28 May 2013
I'm not sure you can using "save".
I'm not sure what you're really aiming for, but "dlmwrite", "csvwrite", and "xlswrite" are probably better suited to outputting nicely formatted text.
Categories
Find more on Variables in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!