[问题] 如何将cin资料忽略第一位元符号

楼主: by00490975 (Change)   2018-09-30 01:53:55
开发平台(Platform): (Ex: Win10, Linux, ...)
C++
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
vs2012
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
输入(x1,y1)
假设为(10,11)
必须忽略掉左右括号及逗号
喂入的资料(Input):
(10,11)
预期的正确结果(Expected Output):
x1=10
y1=11
错误结果(Wrong Output):
直接跳出抓不到资料
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
cout << endl << "请输入顶点(x1,y1) : ";
cin>>x1;cin.ignore(x1,',');
cin>>y1;cin.ignore(y1,')');
补充说明(Supplement):
这样子的话只能忽略掉右括号及逗号
怎么想就是没办法找出忽略掉左括号
有想过 string replace.char转array.判断他是符号所以忽略
因为还算是初心者还不太了解函数库内的东西
或是书本里没看到的东西 少东少西
想破头也找不到方法才来求救qq
作者: bluesoul (忙死你老爸)   2018-09-30 01:58:00
资料读进来后利用boost split拿掉左右括号和逗点
作者: idiont (supertroller)   2018-09-30 03:43:00
ignore的参数传错了吧 第一个是最多忽略多少字符就在第一个cin之前先ignore一次就好了https://tinyurl.com/ax24r44
作者: jerryh001   2018-09-30 09:17:00
cin.get可以拿掉一个字符 如果要检查可以再之前先用cin.peek偷看下一个字符是什么
作者: john2007 (john)   2018-09-30 10:36:00
试试#include <cstdio> 用scanf("(%d,%d)", &x1, &y1);
作者: eye5002003 (下一夜)   2018-09-30 11:51:00
使用boost.regex
作者: CarbonK (HTYISABUG)   2018-10-01 03:36:00
这种就乖乖回去用 scanf 吧

Links booklink

Contact Us: admin [ a t ] ucptt.com