write in text file

i have to write a cell which has both numbers and strings in to a text file if i use %s the numeric values are not written properly. Can any one help Thanks in advance

 採用された回答

Wayne King
Wayne King 2012 年 11 月 6 日

1 投票

You can use ischar() to query which elements are strings and write those properly.

4 件のコメント

Walter Roberson
Walter Roberson 2012 年 11 月 6 日
Expanding on this a bit: use (~cellfun(@ischar,YourArray)) to create a logical index of the numeric positions. Use cellfun() on those positions, with an appropriate function such as @sprintf, in order to format those numeric positions as strings and write them back in the cell array in the form of strings. Now you have a cell array which is only strings and you can write it out.
Sharen H
Sharen H 2012 年 11 月 6 日
can u please give the syntax how to work i couldnot do it
Walter Roberson
Walter Roberson 2012 年 11 月 6 日
Letting C be your cell array, then:
TC = C;
cellisnum = ~cellfun(@ischar, TC);
TC(cellisnum) = cellfun(@num2str, TC(cellisnum), 'UniformOutput', false);
for R = 1 : size(TC,1)
fprintf(s, '%s ', TC{R,1:end-1));
fprintf(s, '%s\n', TC{R,end});
end
Sharen H
Sharen H 2012 年 11 月 6 日
Thanks a lot .. Walter Roberson ...Thank u so much

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeCell Arrays についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by