当前位置:  开发笔记 > 编程语言 > 正文

printf/scanf系列中的格式%n是否有任何实际应用?

如何解决《printf/scanf系列中的格式%n是否有任何实际应用?》经验,为你挑选了2个好方法。

它不是那么有用printf(),但它可能非常有用sscanf(),特别是如果你在多次迭代中解析一个字符串. fscanf()scanf()根据读取的输入量自动推进其内部指针,但sscanf()不会.例如:

char stringToParse[256];
...
char *curPosInString = stringToParse;  // start parsing at the beginning
int bytesRead;
while(needsParsing())
{
    sscanf(curPosInString, "(format string)%n", ..., &bytesRead);  // check the return value here
    curPosInString += bytesRead;  // Advance read pointer
    ...
}


e.James.. 5

它可以用来执行邪恶的行为.



1> Adam Rosenfi..:

它不是那么有用printf(),但它可能非常有用sscanf(),特别是如果你在多次迭代中解析一个字符串. fscanf()scanf()根据读取的输入量自动推进其内部指针,但sscanf()不会.例如:

char stringToParse[256];
...
char *curPosInString = stringToParse;  // start parsing at the beginning
int bytesRead;
while(needsParsing())
{
    sscanf(curPosInString, "(format string)%n", ..., &bytesRead);  // check the return value here
    curPosInString += bytesRead;  // Advance read pointer
    ...
}



2> e.James..:

它可以用来执行邪恶的行为.

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有