|
|
如果user input 123.456.789.111
我要把123,456,789,111个别save在 四个variables 里那么我要怎样做? |
|
|
|
|
|
|
|
|
|
|
发表于 8-4-2008 09:56 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 9-4-2008 05:50 PM
|
显示全部楼层
如果是console program (Dos,從鍵盤直接輸入的),
scanf("%f, %f, %f, %f", &var1, &var2, &var3, &var4);
就可以了。
如果是在buffer裏面,就用
sscanf(buffer, "%f, %f, %f, %f", &var1, &var2, &var3, &var4); |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 13-4-2008 08:53 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 13-4-2008 10:56 PM
|
显示全部楼层
原帖由 Sunyata 于 9-4-2008 05:50 PM 发表 
如果是console program (Dos,從鍵盤直接輸入的),
scanf("%f, %f, %f, %f", &var1, &var2, &var3, &var4);
就可以了。
如果是在buffer裏面,就用
sscanf(buffer, "%f, %f, %f, %f", &var1, &var2, &var3, &var4 ...
是这样吗?
/* strtok example */
#include <stdio.h>
int main ()
{
float var1,var2,var3,var4;
printf ("enter:");
scanf("%f, %f, %f, %f", &var1, &var2, &var3, &var4);
printf ("var1:%f\n",var1);
printf ("var1:%f\n",var2);
printf ("var1:%f\n",var3);
printf ("var1:%f\n",var4);
return 0;
}
第一个号码可以,但是接下来的就不行了 |
|
|
|
|
|
|
|
|
|
|
发表于 16-4-2008 02:46 AM
|
显示全部楼层
要一次过输入四个var再按Enter。
还有要正确的输入var之间的间隔符号。
如果你是用逗号,
scanf("%f, %f, %f, %f", &var1, &var2, &var3, &var4);
就得输入逗号。e.g.: 123.6,555.0, 666.8, 999.3 [Enter]
如果是空格(Space)
scanf("%f %f %f %f", &var1, &var2, &var3, &var4);
e.g.: 123.6 555.0 666.8 999.3 [Enter]
console mode 的软件很古老与简单,不是很好用。
Error Handling很难处理。
基本上console mode 只适合用于教学。
现代的User interface 都是 GUI了。 |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|