我的C项目有点麻烦。我用fgets(line, 1024, stdin)读了一行。在行中,应该有四个参数用空格隔开,如果没有,程序应该写一个警告。就像这样:
"1f 2 4 34" --> "ok"
"af b v" --> "warning"
"a bbgd c v d" --> "warning"
我正在考虑使用一个"strtod“函数循环,但是我不确定如何使用。这是我的主意:
char * ptr;
int i = 0;
ptr= strtok (line," ");
while (ptr!= NULL) /*I would like to count the white spaces*/
{
i++;
ptr= strtok (NULL, " "); /*I suppose this part is not correct*/
}
if(i != 3) /*3 white spaces --> 4 arguments*/
{...}谢谢你的回答。
发布于 2015-03-23 00:56:22
$ man strtok
是你的朋友。例程会吃掉分隔符组的所有出现,并返回以空结尾的字符串的地址。
不要试图计算空格,要计算strtok(3)返回非空值的次数。
https://stackoverflow.com/questions/29197280
复制相似问题