我有 fscanf 从配置文件中读取设置行。这些设置具有严格预定义的格式,看起来像
name1=option1;
name2=option2;
...
所以基本上我会
fscanf(configuration,"%[^=]=%[^;];",name,option);
其中配置是文件流,名称和选项是编程缓冲区。
问题是名称缓冲区包含我不想要的换行符。我在“[^...]”设置中错过了格式说明符以跳过换行符吗?无论如何,它可以通过格式说明符解决吗?
顺便说一句:通过写这个来吞下换行符
"%[^=]=%[^;];\n"
我认为这并不优雅,因为换行符可以在任何地方重复多次。