Need help using fprintf for cell array

I have a structure named 'shape' that contains three sub-structures ('circle', 'triangle', 'square') and need to print them out in a list. Here is my code:
%Create shape super-structure.
shape = struct('circle', [], 'triangle', [], 'square', []);
%Print names of created shapes.
fields = fieldnames(shape);
fprintf('You created these shapes:\n%s\n', fields{:});
I need the command window to show this... You created these shapes:
circle
triangle
square
...but instead, it prints "You created these shapes:" before every single shape. How should I go about fixing this?

 Risposta accettata

Ruger28
Ruger28 il 10 Ott 2019
Modificato: Ruger28 il 10 Ott 2019
Give this a go:
shape = struct('circle', [], 'triangle', [], 'square', []);
%Print names of created shapes.
fields = fieldnames(shape);
% fprintf('You created these shapes:\n%s\n', fields{:});
fprintf('You created these shapes:\n');
fprintf('%s\n',fields{:})
You need to seperate the first line from the rest if you don't want repeats.

Più risposte (0)

Categorie

Scopri di più su Linear Algebra in Centro assistenza e File Exchange

Richiesto:

il 10 Ott 2019

Commentato:

il 10 Ott 2019

Community Treasure Hunt

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

Start Hunting!

Translated by