作者nckutaeyeon (成大小泰妍)
看板C_and_CPP
标题[问题] c++读档问题
时间Wed Dec 20 00:39:08 2017
开发平台(Platform): (Ex: Win10, Linux, ...)
Win10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
VC++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
请问当档案每行的数据使用逗号隔开而不是空白时,读档要怎麽把它们完整的存到一个二
维vector呢?我有爬过相关文但它们的情况都是空白隔开的,谢谢各位大大
喂入的资料(Input):
Ex. Input.txt
1,2,3
4,5,6
7,8,9
预期的正确结果(Expected Output):
1 2 3
4 5 6
7 8 9
错误结果(Wrong Output):
1
2
3
4
5
6
7
8
9
程式码(Code):(请善用置底文网页, 记得排版)
补充说明(Supplement):
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.116.116.152
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1513701551.A.807.html
1F:→ misclicked: scanf("%d%c"); 12/20 02:39
2F:→ achicn3: 你就把那错误结果push 进vector 就好了吧 12/20 03:06
3F:→ nckutaeyeon: 可是读档时候的数据每行长度我没办法确定qq 12/20 11:27
4F:推 jasonwu23: strtok 12/20 11:36
5F:推 Leadgen: 要指定一下分隔的token 12/20 11:46
6F:推 BlazarArc: 标准没提供split,可以用boost:split 12/20 12:44
7F:→ BlazarArc: delimiter比较复杂就要用std::string::find_first_of刻 12/20 12:45
8F:推 jerryh001: 用cin.get()看是逗号还是换行就好了吧 12/20 13:07
9F:→ Darkautism: 一行的事 scanf("%d,%d,%d", n1, n2, n3 ); 12/20 15:35
10F:→ Darkautism: 上面变数如果不是pointer要补& 12/20 15:38
11F:推 peterwu4: <algorithm>里有个transform的函式 12/20 16:42
13F:→ galic: 我猜原po的意思是输入的2D vector的row/column size不是固 12/20 18:09
14F:→ galic: 定的 他举的例子是个3x3 但也可能是6x2 1x7等等 12/20 18:09
15F:→ nckutaeyeon: 谢谢各位!我用peter大大提供的方法成功了 12/20 18:52
16F:→ galic: 结果只是来讨code... 12/20 19:16
17F:推 peterwu4: sorry... 12/20 20:08
18F:→ peterwu4: 最近在练coding 12/20 20:08
19F:→ BRITRubbish: 又是仁暐计概XD 12/24 22:51