斯坎f 输入不起作用
sscanf input not working
我有这样的制表符分隔记录
1000 Muhammad Aashir 0213-4211685 123456 0
首先我使用 fgets 阅读了该行,现在我正在尝试使用 sscanf 提取内容,但有一个意想不到的问题......请帮助我是初学者
这是代码
char buffer[SIZE];
Account req;
while(fgets(buffer,SIZE,fptr))
{
cout<<endl<<buffer<<endl;
sscanf(buffer,"%dt%st%st%st%ldn",&req.acc_num,req.name,req.mobileno,req.pass,&req.acc_bal);
cout<<endl<<req.pass;
}
缓冲区的输出与记录行相同
但是提取值后,当我显示"req.pass"时,值不正确
req.pass 显示"0213-4211685",但必须显示"123456"
sscanf将捕获,直到到达任何类型的空格。在您的情况下,req.name 仅包含 Muhammad
.这将导致其余变量包含错误的信息。
如果需要使用 sscanf()
,则必须将名称中 " " 的实例替换为转义字符,例如 "_"。
相关文章:
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- Windows.h 输入在函数之外不起作用
- 为什么给定的代码不适用于所有测试用例?为什么当输入为 7786 时它不起作用?
- 如果我更改函数输入,我的递归不起作用?
- 为什么用于获取有关名称的输入的语法不起作用?
- C++ 对象数组字符串输入在控制台上不起作用
- cin.fail 在输入数字和字母时不起作用
- 为什么当我输入字符时,这个特定的 cin.get() 语句在C++中不起作用?
- 特殊键输入不起作用(输入,backspace,tab等)
- 类中的重载函数(Students())是输出输入的信息,但它不起作用
- 为什么在参数输入之前将计算放置在代码中时,计算不起作用
- 使用系统命令时发送输入不起作用
- 检查用户输入是否正确的函数不起作用
- 功能调用不起作用,但控制台仍允许输入
- std :: getline(输入,d.info)不起作用
- cin.clear() 不起作用 - 不读取输入
- ios_base::sync_with_stdio(false) 在来自标准输入的两个输入之间不起作用
- 输入在C 中不起作用
- 斯坎f 输入不起作用
- 文件结束输入不起作用