我有一些Matlab代碼,我試圖導出一些字符串並從中創建一個製表符分隔的文本文件。我認爲fprintf在C中的表現類似(如果不是,請編輯我的標籤)。我相信我的問題是與我的格式字符串。基本上我有7個字符串,我想用製表符分隔,然後換行符。請注意,「fid」是一個完整的路徑。我在for循環中循環,因此每行都附加了行,並且構建了文件。格式化fprintf
ImgData = strcat(ImgData, fid, '\t', imgNumber, '\t', N_std,'\t',S,'\t',N,'\t',SNR,'\t',SNR_dB,'\n');
DataOut = fopen(strcat('Image_F', folderNumber, '_Data.txt'), 'w');
fprintf(DataOut,'%s\t %s\t %s\t %s\t %s\t %s\t %s\n',ImgData);
您可能對此如何出口感到好奇。這種格式如
fid\tI#\tN_std\tS\tN\tSNR\tSNR_dB\n
在txt文件中。正如你可以告訴這是不是製表符分隔我的主要問題。我在格式化字符串中遇到了一些麻煩。有誰知道如何重新格式化它,所以它打印標籤和換行符?
刪除C/C++標記 - 有問題的代碼只是matlab,不是? – stijn 2012-08-08 13:57:47
,更重要的是,你的問題是什麼?問題是什麼?預期產出?最小的代碼可以重現問題? – stijn 2012-08-08 13:58:27
我很確定fprintf是直接從C++中獲取的,所以我重新添加了C++標記。我的問題是它打印非製表符分隔。這些選項卡以字符串形式打印而不是製表符。 – 2012-08-08 14:03:26