亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

不過這里我很想搞清楚還可以怎樣申明setw()? 謝謝了

不過這里我很想搞清楚還可以怎樣申明setw()? 謝謝了

C
白豬掌柜的 2023-01-13 21:15:17
#include <iostream>using std::cout;using std::endl;using std::string;#include "iomanip"#include <string>int main(){string s1("hello"),s2("friend");cout<<s1.length()<<','<<s2.length()<<endl;if(s1>s2)cout<<setw(10)<<s1<<","<<s2<<endl;cout<<setw(17)<<s1+"&"+s2<<endl;return 0;}運行的結果是error C2065: 'setw' : undeclared identifier。如果把程序中的using std::cout;using std::endl;using std::string;換成using namespace std;之后,程序運行結果就行了。又或者把程序里的setw(10)和setw(17)刪掉之后,也行。
查看完整描述

3 回答

?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

setw()是設置域寬的函數,默認是前面加空格右對齊。 
你的程序中的setw()丟了w,其他對著呢!細心檢查就沒有問題了!程序運行后名字左對齊占用8個字節不足在右邊補空格;數據右對齊,占用10個字節不足左補空格 
想要看到底是如何填充的只要把輸出語句改一下就可以了:cout<<setiosflags(ios::left)<<setfill('.')<<setw(8)<<names[i]<<resetiosflags(ios::left)<<setfill('/')<<setw(10)<<salary[i]<<endl; 這樣名字中空的部分填充的是‘.’,數值中空的部分填充的是‘/’,原來具體是如何在那里添加的空格就很清楚了!

運行結果如下: 

王群平..//////1000 
歐陽居成////600.34 
張可..../////812.5 
劉家星..////1345.2 
朱江....////3345.1 
(網頁格式原因,可能頁面上對不齊,上機試試,結果出來就明白了)



查看完整回答
反對 回復 2023-01-15
?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

首先。cout、endl和cin這兩個輸入輸出換行函數是 類std 里面的函數。
所以,在寫程序時,若已聲明使用std類命名空間,即寫有using namespace std語句,則在該命名空間內,cout和cin的使用是合法的。
當程序沒有注明std類的命名空間時,即沒有寫using namespace std語句,則若想使用cout、endl和cin作輸入輸出換行,那么就得 以調用類std函數的形式 來調用cout、cin、endl函數,即聲明有using std::cout、using std::endl等等 (如同樓組main函數前聲明的using std::cout;using std::endl;)。
或者在沒有寫有using namespace std語句的情況下,同時也沒有using std::cout,using std::endl等語句,在若仍然想使用cout、cin等函數,則書寫格式為std::cout(例如:std::cout<<s1.length()<<','<<s2.length()<<std::endl)。

關于設置域寬函數setw(int),是在iomainp頭文件下使用的,即include<iomainp>。
后話:關于using std::string本人表示不解,貌似std類里面沒有string這個函數。如果樓主的意思是使用string頭文件下的各種函數(例如:s1.length() ),那么include<string>已經聲明了。

查看完整回答
反對 回復 2023-01-15
?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

cout<<std::setw(10)<<s1<<","<<s2<<endl;
cout<<std::setw(17)<<s1+"&"+s2<<endl;
這兩句這樣就可以了

查看完整回答
反對 回復 2023-01-15
  • 3 回答
  • 0 關注
  • 156 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號