INPUT :(某个号码,某个号码) 示例:(12,2345235) 我如何解析这个输入,存储为字符串,并将其转换为整数?
是否可以从'('到','
创建一个字符串然后另一个数字将从','和结束')'
开始这种方式无论输入多大,都会被存储。
此外,如果输入是:badcharacters(12,324)badcharacters 你是否仍然能够检索12和324并将它们存储为整数,只要正确的输入在字符串内的某处?
答案 0 :(得分:1)
如果字符串来自file:
,您可以尝试使用scanf系列,例如这样#include <fstream>
#include <iostream>
using namespace std;
int main()
{
ifstream ifs ("test.txt", ifstream::in);
char buf[256];
int i1, i2;
while (ifs.getline(buf, 256)) {
sscanf(buf, "(%i,%i)", &i1, &i2);
cout << i1 << " " << i2 << endl;
}
ifs.close();
return 0;
}
12 2345235
答案 1 :(得分:1)
const int SIZE=100;
char input[SIZE]
// Read the input into the string.
fgets(input, SIZE-1, stdin);
// Extract the integers out of it.
int n1;
int n2;
sscanf(input, "(%d,%d)", &n1, &n2);