C_and_CPP 板


LINE

開發平台(Platform): (Ex: Win10, Linux, ...) Linux centos7 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) GCC 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 我利用getline把cin的整行文字或數字存成string,但想個別處理這個string的每一個 字,所以我另外用了一個vector<string>去逐字的塞進去。 用的方法是在for迴圈內加入:vector[i].push_back(string.at(i)); 但編譯沒問題後,在我cin餵入資料後,卻顯示Segmentation fault (core dumped)。 餵入的資料(Input): 隨意字串 預期的正確結果(Expected Output): 個別塞入vector中運用 錯誤結果(Wrong Output): Segmentation fault (core dumped) 程式碼(Code):(請善用置底文網頁, 記得排版) 1 #include <iostream> 2 #include <fstream> 3 #include <string> 4 #include <vector> 5 using namespace std; 6 7 8 int main() 9 { 10 vector<string> v; 11 string sin; 12 13 cout << "input"<<endl; 14 getline(cin,sin); 15 16 for(int i=0 ;i < sin.length() ; i++) 17 { 18 v[i].push_back(sin.at(i)); 19 } 20 /* 21 for(int j=0;j<respectively.size();j++) 22 { 23 cout<< respectively[j]<<endl; 24 } 25 */ 26 return 0; 27 28 補充說明(Supplement): 我之前也遇過Segmentation fault (core dumped),我認為應該是vector或string的空間 不夠,但vector和string都從0開始,想了又試了好久都無解,想請問各位大神QQ,感激 不盡!! --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.91.168
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1512044206.A.46A.html ※ 編輯: gn00771771 (140.116.91.168), 11/30/2017 20:17:41 ※ 編輯: gn00771771 (140.116.91.168), 11/30/2017 20:18:22
1F:→ nh60211as: vector<string>沒初始化大小吧 11/30 20:36
可是vector不是可以讓他要輸入多少值來決定自身sizeQQ?
2F:→ galic: 你這不知道從哪邊說起耶... vector<string> v[i] 11/30 20:37
這個i是在迴圈內的,表示第幾個元素...不知道大大您的意思是qq? 編輯: gn00771771 (140.116.91.168), 11/30/2017 21:28:25 ※ 編輯: gn00771771 (140.116.91.168), 11/30/2017 21:30:17
3F:→ loveflames: 天哪,這麼明顯的包你竟然還沒發現 11/30 21:34
4F:→ loveflames: 第18行請問是push_back給誰來著 11/30 21:35
5F:→ loveflames: http://www.cplusplus.com/reference/vector/vector/v 11/30 21:37
6F:→ loveflames: ector/ 11/30 21:37
謝謝你love大!我犯了一個大錯,竟把所有東西都push_back到單一string,但是我把[i] 拿掉以後,似乎發現string doesn't have a conversion constructor that accepts only a single char as input " invalid user-defined conversion from ‘char’to ‘const value_type&" 我要在想想QQ謝謝love大!!
7F:→ galic: 給小精靈來著 小精靈被吵醒 觸發segmentation fault 11/30 21:37
※ 編輯: gn00771771 (140.116.91.168), 11/30/2017 21:55:07 ※ 編輯: gn00771771 (140.116.91.168), 11/30/2017 21:55:57 我把vector<string>改成vector<char>就ok了,謝謝各位老師!! ※ 編輯: gn00771771 (140.116.91.168), 11/30/2017 22:00:39
8F:推 steve1012: char vector感覺跟你想做的不一樣啊 12/01 00:11
我想把一行字串每一個char存在vector的一個元素
9F:推 moebear: 你sin用at v幹嘛不用at 12/01 00:27
!!!!慚愧,我不知道vector也有at function 感謝各位老師學長姐QQ ※ 編輯: gn00771771 (140.116.91.168), 12/01/2017 06:05:35
10F:→ loveflames: 如果考慮C API(寫入字串),是可以用vector<char>,這 12/01 07:41
11F:→ loveflames: 方法effective STL提過 12/01 07:41
12F:→ loveflames: 記得不能影響長度就是 12/01 07:41
13F:推 shadow0326: vector<char> v(sin.begin(), sin.end()); 12/01 11:50
14F:推 moebear: 沒事可以去cplusplus看一下有什麼可以用R 12/01 13:21







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP