Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Octave 为什么'fprintf/sprintf'不能在'keypressfcn'上工作?_Octave_Keypress - Fatal编程技术网

Octave 为什么'fprintf/sprintf'不能在'keypressfcn'上工作?

Octave 为什么'fprintf/sprintf'不能在'keypressfcn'上工作?,octave,keypress,Octave,Keypress,当我的图形打开时,我试图在文本文件中键入键盘字符,所以我写下了下面的代码。我错过什么了吗?(也试用了fprintf)非常感谢 函数myGUI() h、 Mainfrm=图形(“位置”[200]); 设置(h.Mainfrm,“keypressfcn”、@keypressCallback); 端功能 功能键按Callback(hObject,eventdata) 数据=事件数据; mystr=data.Character; fid=fopen(“mytext.txt”); sprintf(“%s”

当我的图形打开时,我试图在文本文件中键入键盘字符,所以我写下了下面的代码。我错过什么了吗?(也试用了
fprintf
)非常感谢

函数myGUI()
h、 Mainfrm=图形(“位置”[200]);
设置(h.Mainfrm,“keypressfcn”、@keypressCallback);
端功能
功能键按Callback(hObject,eventdata)
数据=事件数据;
mystr=data.Character;
fid=fopen(“mytext.txt”);
sprintf(“%s”,mystr)
fclose(fid);
端功能

您需要写入文件

fprintf(fid,'%s',mystr);
假设您使用fprintf作为
fprintf('%s',mystr)
,它只是写入默认输出,即您的终端

此外,您要写入的文件已作为“可写”打开!或者,在您的情况下,由于您似乎希望逐个字符写入并将每个字符追加到文件中,因此需要使用“追加”标志打开文件:

fid=fopen('mytext.txt','a');

顺便说一句,由于您要打印的是一个字符串,您根本不需要指定
'%s'
,只需直接打印字符串即可:

fprintf(fid,mystr);
如果您还想执行一些健全性检查,请捕获fprintf的输出,它会告诉您文件中保存了多少个字符

Output=fprintf(fid,mystr);
如果输出==0;fprintf('Nothing write to file\n');恩迪夫
另外,请注意fprintf不会以换行符终止字符串。如果您想要换行,而您的
mystr
末尾没有换行,则需要明确指定一行,即:

fprintf(fid,'%s\n',mystr);