How to export data based on pop-up-menu choice to a .txt file?
조회 수: 1 (최근 30일)
이전 댓글 표시
I need to store a numerical value inside a .txt file. The value is determined based on which option in the pop-up-menu has been selected? The problem I'm having is that whenever I check the .txt file afterwards it is blank? If I remove the semi-colons then it displays the correct value for each choice, e.g. removing the semi-colon from the line a = -10; causes a = -10 to be displayed in the command window when I select the second option in the pop-up-menu? So why can't it write it onto a a text file? I've shown my code below
% --- Executes on selection change in popupmenu2.
function popupmenu2_Callback(hObject, eventdata, handles)
% hObject handle to popupmenu2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu2 contents as cell array
% contents{get(hObject,'Value')} returns selected item from popupmenu2
contents = get(hObject,'Value');
switch contents
case 1 %Nothing selected
a = 0;
fid = fopen('Cstern.txt', 'wb');
fprintf(fid, '%s\n', a);
fclose(fid);
case 2 %V-shaped sections
a = -10;
fid = fopen('Cstern.txt', 'wb');
fprintf(fid, '%s\n', a);
fclose(fid);
case 3 %U-shaped sections
a = 10;
fid = fopen('Cstern.txt', 'wb');
fprintf(fid, '%s\n', a);
fclose(fid);
case 4 %None of the above
a = 0 ;
fid = fopen('Cstern.txt', 'wb');
fprintf(fid, '%s\n', a);
fclose(fid);
end
댓글 수: 0
답변 (1개)
Walter Roberson
2016년 2월 28일
Perhaps it is writing to a Cstern.txt in a directory other than the one you are looking in. It is going to write the file into whatever directory is the current directory. I suggest you display pwd() to show you which directory that is.
I further suggest you get into the habit of defining a specific output directory and using fullfile() to qualify the file names so you know exactly where the output is going to end up. For example,
outdir = handles.output_directory;
outfile = fullfile( outdir, 'Cstern.txt');
...
[fid, message] = fopen(outfile, 'wb');
if fid < 0
warndlg(sprintf('Failed to open file "%s" for writing because: %s', outfile, message));
return
end
참고 항목
카테고리
Help Center 및 File Exchange에서 Environment and Settings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!