从sscanf中提取数据
extract data from sscanf
我想知道为什么sscanf不能正常工作。
我有一个字符串"1,2,3,#",我想提取的数据没有逗号,代码是
int a1,a2,a3;
char s;
string teststr = "1,2,3,#";
sscanf(teststr.c_str(), "%d,%d,%d,%s",&a1,&a2,&a3,&s);
cout << teststr << endl;
cout << a1 << a2 << a3 << s << endl;
预期输出应该是123#
,但我得到的实际结果是120#
, a3
总是0。
如果我展开到4个数字,
int a1,a2,a3,a4;
char s;
string teststr = "1,2,3,4,#";
sscanf(teststr.c_str(), "%d,%d,%d,%d,%s",&a1,&a2,&a3,&a4,&s);
cout << teststr << endl;
cout << a1 << a2 << a3 << a4 << s << endl;
则结果为1230#
。看起来最后一个整型总是0。为什么会发生这种情况?如何解决这个问题?
sscanf(teststr.c_str(), "%d,%d,%d,%s",&a1,&a2,&a3,&s);
^ passing char variable s to %s (specifier for reading single char is %c not %s)
试试-
sscanf(teststr.c_str(), "%d,%d,%d,%c",&a1,&a2,&a3,&s);
相关文章:
- 使用从文件(stod、strtod、atof)中提取的数据C++从字符串转换为双精度.csv
- 模式匹配文本并提取C++中的数据
- JPG-如何从ICC配置文件部分APP2读取/提取数据
- 如何从多维向量中提取数据
- 从异构列表中提取数据
- 是否可以将多个结构作为一个数据包存储在一个函数中,然后传递给其他函数并在那里提取?
- 从 Windows 中的其他应用程序 GUI 中提取数据
- 如何从 qwebengineview qt5.9 中提取数据
- 将文本文件数据读入字符数组时提取运算符的歧义
- 如何从shared_ptr<T&>的引用中提取数据
- 从自定义结构数组中提取数据
- 需要根据读取的数据类型将ifstream提取到单独的数组中
- 从第 x 列提取到 y 列,从第 1 行到第 2 行提取 csv 数据 c++
- 无法从结构数组 C++ 中提取数据
- 如何解决系统.Zip.TZipFile.ExtractAll无法从.zip文件中提取所有数据的问题
- 提取肮脏的RGB像素缓冲区数据Directx
- STL矢量数据提取
- 将文件中的逐行数据提取到C++中的动态数组中
- 提升精神 X3:将数据提取到 x3::变体<...> 始终为空
- Web数据提取和表单填写