Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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
File 如何使用八度变量文件名将结构保存到文件中?_File_Struct_Save_Octave - Fatal编程技术网

File 如何使用八度变量文件名将结构保存到文件中?

File 如何使用八度变量文件名将结构保存到文件中?,file,struct,save,octave,File,Struct,Save,Octave,在Octave中,我想将一个结构保存到一个文本文件中,该文件的名称在脚本运行时决定。在我的方法中,我总是会遇到一个错误: expecting all arguments to be strings. (对于固定文件名,这很好。)那么如何使用可变文件名将结构保存到文件中呢 全部清除; myStruct(1).resultA=1; myStruct(1).resultB=2; myStruct(2)。结果=3; myStruct(2),resultB=4; variableFilename=st

在Octave中,我想将一个结构保存到一个文本文件中,该文件的名称在脚本运行时决定。在我的方法中,我总是会遇到一个错误:

expecting all arguments to be strings. 
(对于固定文件名,这很好。)那么如何使用可变文件名将结构保存到文件中呢

全部清除;
myStruct(1).resultA=1;
myStruct(1).resultB=2;
myStruct(2)。结果=3;
myStruct(2),resultB=4;
variableFilename=strftime(“结果\u%Y-%m-%d\u%H-%m.mat”,localtime(time())
保存fixedFilename.mat myStruct;
%这将起作用并将结构保存在fixedFilename.mat中
保存(“-text”、variableFilename、myStruct);
%这会产生错误:所有参数都应为字符串

在倍频程中,使用“另存为”函数时,需要执行以下操作:

myfilename = "stuff.txt";
mystruct = [ 1 2; 3 4]
save("-text", myfilename, "mystruct");
上面的代码将创建一个stuff.txt文件,并将矩阵数据放入其中

上面的代码只有在mystruct是矩阵时才有效,如果您有一个字符串单元,它将失败。对于这些,您可以自己滚动:

 xKey = cell(2, 1);
 xKey{1} = "Make me a sandwich...";
 xKey{2} = "OUT OF BABIES!";
 outfile = fopen("something.txt", "a");
 for i=1:rows(xKey),
   fprintf(outfile, "%s\n", xKey{i,1});
 end
 fflush(outfile);
 fclose(outfile);

使用“另存为”函数时,需要执行“保存”(“-text”、variableFilename、“myStruct”);i、 所有参数都是字符串。这非常有效,非常感谢!感谢您的回答,它还包含了我问题的正确解决方案,正如JuanPi已经说过的:调用save函数时,我必须将结构的名称放在“”中。为了将这些字符串保存在单元格中,将它们放在结构中而不是单元格中可能更方便,因为这样上面的解决方案也可以工作,并且不需要自己处理文件输出。