webForumDet fria alternativet

width/setw för flera fält

C/C++

1 svar · 262 visningar · startad av Marcus E

Medlem sedan maj 20021 466 inlägg
Frågan#1

Jag har klurat ett tag på om det går att få ios_base::width/setw att fungera på flera fält.

Exempel:
cout << setw(10) << "Antal" << setw(12) << "Data" ;
cout << setw(10) << antal << " st" << setw(12) << data;

setw i andra raden (blått) ska gälla för både antal och " st".

Det går att komma runt problemet genom att minska 10 med 3 och eventuellt flytta setw, men tänk om jag skulle skriva ut två data som jag inte vet bredden på. Vad är den bästa (snyggaste) lösningen i så fall?

Medlem sedan juli 2002581 inlägg
#2

Såhär funkar iaf:

stringstream sout;
sout << antal << " st";
cout << setw(10) << sout.str() << setw(12) << data;

260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)