/usr/share/psychtoolbox-3/PsychFiles/WriteStructsToText.m is in psychtoolbox-3-common 3.0.9+svn2579.dfsg1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | function WriteStructsToText(filename,theStructs)
% WriteStructsToText(filename,theStructs)
%
% Write a tab delimited text file. The first row should
% contain the field names for a structure. Each following
% row contains the data for one instance of that structure.
%
% This routine writes each element of the structure array as a row.
% Only numeric and string field values are supported.
%
% 06/16/03 dhb Wrote it.
% 07/01/03 dhb Support string fields too.
% 08/12/06 dhb Call filetype only if OS9.
% Open the file
fid = fopen(filename,'wt');
% Get the fieldnames
theFields = fieldnames(theStructs(1));
nFields = length(theFields);
for i = 1:nFields
fprintf(fid,'%s',theFields{i});
if (i < nFields)
fprintf(fid,'\t');
else
fprintf(fid,'\n');
end
end
% Now write each struct's data as a line
nStructs = length(theStructs);
for j = 1:nStructs
for i = 1:nFields
if (ischar(getfield(theStructs(j),theFields{i})))
fprintf(fid,'%s',getfield(theStructs(j),theFields{i}));
else
fprintf(fid,'%g',getfield(theStructs(j),theFields{i}));
end
if (i < nFields)
fprintf(fid,'\t');
else
fprintf(fid,'\n');
end
end
end
% Close the file.
fclose(fid);
if (IsOS9)
filetype(filename,'TEXT','XCEL');
end
|