我使用的fscanf读取其中有像
数行的文件< -whitespace->字符串< -whitespace-> optional_3rd_column制作的fscanf忽略可选参数
我希望提取出每个数字和字符串列,但忽略3rd_column如果它存在
实施例的数据:
12 foo的东西
03巴
24东西#randomcomment
我想提取12,foo; 03,酒吧; 24,而忽略了一些“东西”和“#randomcomment”
我现在有类似
while(scanf("%d %s %*s",&num,&word)>=2)
{
assign stuff
}
然而,这并不与任何第三列线工作。我怎样才能让它忽略第二个字符串后的所有内容?
是的..但我目前正在使用scanf匹配> = 2的项目数来检测文件的有效部分......如果我可以在scanf本身中集成进程,以保持while循环条件不变 – 2008-10-29 04:42:10
我不确定我是否理解,sscanf的工作原理与scanf相同,即它会返回匹配项的数量,因此您可以使用相同的逻辑,即while(fgets(buf ,size,stdin)!= NULL && sscanf(buf,“%d%s”,#,&word)== 2){assign stuff}。 – 2008-10-29 04:51:37