c语言sscanf的问题

如果char*s,用fgets得到一行数据“message”message后面均为空格存在s里,再定义char*name和char*wert,动态分配内存,用sscanf... 如果char* s,用fgets得到一行数据“message”message后面均为空格存在s里,再定义char* name和char* wert,动态分配内存,用sscanf分割 sscanf(s,"%s%s",name,wert)
name里面是“message”,wert里面是什么值?是NULL还是空格符?
展开
 我来答
金色潜鸟
2017-01-10 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5747万
展开全部
sscanf函数,可以 返回成功读入的参数个数。个数为1,表明 读 wert 失败。
char s[]="message \n"; // fgets 读一行,含新行键, 我们可以 预置字符串
static char name[20], wert[20]; // 全局量,保证初始内存清干净了,不含杂乱字符
int N;
N=sscanf(s,"%s%s",name,wert); // 成功读入的参数个数 存入 N
printf("N=%d\n",N); // 输出 N
// N 将得到 1, 因为 %s 格式会略去 空白(空格,新行键)
// 显然,wert 没有读到东西
//打印出来可见
printf("|%s|%s|\n",name,wert);
===
输出:
N=1
|message||
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式