我有一个像这样的字符串输入
string@floatValue
这种格式的一组值作为输入传递给程序。我试图用scanf()
阅读它们,但无济于事。
我尝试过的一些格式是
scanf("%[^@]s%f",&s,&f);
scanf("%s@%f",&s,&f);
scanf("%s[@]%f",&s,&f);
无论我给出的是什么值(带有@符号和浮点值的字符串)都存储在s本身中。
在上一篇文章中,我看到有人使用此%4[^\n]
,可用于读取4个输入或直到遇到新行。不幸的是,我不知道输入的大小。我尝试使用getchar()
函数进行解决方法。在达到' @'之后也是如此。符号我正在使用scanf("%f",&f)
来读取输入,这会给我带来分段错误。我该如何解决这个问题?
答案 0 :(得分:2)
在&
之前删除s
,这应该有效:
scanf("%[^@]@%f",s,&f);