我在打开图形时试图在文本文件中键入键盘字符,所以我在下面的代码中写下了代码。我想念什么吗? (也尝试过fprintf
)非常感谢
function myGUI()
h.Mainfrm=figure("position",[200 200 200 200]);
set(h.Mainfrm,"keypressfcn",@keypressCallback);
endfunction
function keypressCallback(hObject,eventdata)
data=eventdata;
mystr=data.Character;
fid=fopen("mytext.txt");
sprintf("%s" ,mystr)
fclose(fid);
endfunction
您需要写入文件。
fprintf( fid, "%s", mystr );
大概您使用fprintf作为fprintf( "%s", mystr )
,它只是写入默认输出,即您的终端。
顺便说一句,由于您要打印的只是一个字符串,所以根本不需要指定"%s"
,只需直接打印您的字符串:
fprintf( fid, mystr );
如果还要进行健全性检查,请捕获fprintf的输出,该输出将告诉您已将多少个字符保存到文件中。
Output = fprintf( fid, mystr );
if Output == 0; fprintf( "Nothing written to file\n" ); endif
[另外,请注意fprintf不会以换行符终止字符串。如果您需要换行符,而mystr
末尾没有换行符,则需要明确指定一个换行符,即:
fprintf( fid, "%s\n", mystr );