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/cn.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灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP