How to print the string value using fprintf

Hi,
a = (aa bb cc dd)
for ion = 1: 1: length (a)
and some lines of code
then later i have some functionality
---------------
p = a (ion);
Results if i use
fprintf ( "% 10s" , p);
error: fprintf: wrong type argument 'cell'
suppose if i use
disp (p)
output
{
[1,1] = aa
}
I just want the 'aa' as the output using fprintf only
How do i do that? Kindly help.

 采纳的回答

The error message explains what is going on: you are trying to use a cell as input to fprintf. fprintf will not 'unpack' that for you, so you'll have to do it on your own:
fprintf ( "% 10s" , p{1});

8 个评论

Thanks!
But do you have any other way / method of representing it?
Instead of p {1} do you have any other alternative ?
I don't understand why you are asking this. Is something not working? Your question showed that p is actually a scalar cell with some contents. If you use curly braces you can access those contents, which is what p{1} does.
Because it doesn't make sense to search for an alternative if this code works, I am guessing this code is not working for you. So what is going wrong?
The code is working and I am getting the output as expected.
Just for improving my knowledge i wanted to know if there are other ways of representing it.
For the p{1} part you don't have a choice. The only possibility is to use the curly braces sooner:
p = a{ion};
"...i wanted to know if there are other ways of representing it."
There is no "representing" occuring, it is simply the MATLAB syntax for accessing the contents of a cell array:

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by