【发布时间】:2018-07-26 15:22:13
【问题描述】:
我正在尝试在此处处理 c 中的表单数据。
fgets(somedata, bufferone, stdin);
如果我 printf 'somedata',我会得到:
username=John&password=hispass123
现在当我尝试使用 sscanf 时
char usr[100], pass[100];
sscanf(somedata, "username=%s&password=%s", usr, pass);
printf("Content-type: text/html\n\n");
printf("%s is value 1\n", usr);
printf("%s is value 2\n", pass);
比我得到的
John&password=hispass123 is value 1
?? is value 2
我怀疑,第一次调用读取到空终止符,然后第二次调用溢出或其他东西。
所以我需要格式方面的帮助。另外,在这种情况下,sscanf 函数是最佳选择吗?我正在尝试从消息正文中获取 2 个字符串(通过 html 表单通过标准输入发送)。
【问题讨论】: