C语言中scanf函数用到的格式控制
今天在看同事的代码时遇上下面一行代码: <!-- lang: cpp --> fscanf(pfile, "WEBSPORT=\"%[^\"]\n", webport); 代码的作用很简单,只是函数中的格式控制符我突然有点感觉陌生了,从学校出来后,就比较少用到scanf函数,因此对它的格式控制符也就渐渐地陌生。既然陌生,就必须要重新熟悉才行,于是上网查找了一下,彻底地弄明白上面的含义,重新熟悉了一下scanf函数的格式控制符。在此备忘个人觉得比较容易忘记的一些格式控制符。 scanf中的完整格式控制字符串序列: <!-- lang: cpp --> "% * 域宽 l/h d/o/x/c/s/f/e" //无%u格式、%g格式 说明: %后的“*” 附加说明符,用来表示跳过它相应的数据 根据格式字符的含义从输入流中取得数据,当输入流中数据类型与格式字符要求不符时,就认为这一项结束 隐示分隔符:空格、制表符('\t')、换行符('\n')都是C语言认定的数据分隔符 显示分隔符。在scanf函数的两个格式说明项间有一个或多个普通字符,那么在输入数据时,在两个数据之间也必须以这一个或多个字符分隔。如语句: <!-- lang: cpp --> scanf("a=%d,b=%f,c=%f", &a, &b, &c); //输入数据应该为:a=1234,b=67.8,c=98.123