Need help using fprintf for cell array

3 vues (au cours des 30 derniers jours)
Angie Lee
Angie Lee le 10 Oct 2019
Commenté : Ruger28 le 10 Oct 2019
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?
  1 commentaire
Ruger28
Ruger28 le 10 Oct 2019
Also, please use the code formattting.

Connectez-vous pour commenter.

Réponse acceptée

Ruger28
Ruger28 le 10 Oct 2019
Modifié(e) : Ruger28 le 10 Oct 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.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by