%[^ \ n]在scanf()格式字符串中是什么意思

米尼娜·加夫顿(Mihnea Gafton)

我在该网站上看到::fscanf(fin, "%[^\n]", &p);可用于从我的输入文件(fin读取到char类型的指针(*p)中的所有字符,直到第一个输入命中为止。在某些输入下,它可以正常工作,但在其他输入上,则不能。

这是我应该处理的输入,但我不能:

(((zahar 100 ou 3) 5 unt 100 nuca 200) 4 (lapte 200 cacao 50 zahar 100)3)20

这是我的整个代码:

#include <string.h>
#include <stdio.h>
FILE *fin, *fout;
int main()
{
    fin =  fopen("reteta.in", "r");
    fout = fopen("reteta.out", "w");
    char *p;
    p = new char[1001]();
    fscanf(fin, "%[^\n]", &p);
    fprintf(fout, "%s", &p);
    return 0;
}
尼古拉

%[符号引入了一种称为“ scanset”的东西,有点像正则表达式(但功能不那么强大)。

在您的特定示例中,这意味着格式说明符指示scanf保持扫描与除“”以外的任何\n字符都匹配的字符(遇到不匹配的字符将终止扫描)。

根据C11标准:

转换说明符包括格式字符串中的所有后续字符,直至并包括匹配的右括号(])。括号之间的字符(扫描列表)构成了扫描集,除非左括号后面的字符是抑扬符(^),在这种情况下,扫描集包含了在抑扬符和右括号之间的列表中未出现的所有字符


甚至将它与正则表达式进行比较也可以扩展它:标准只是简单地说:“从一组预期字符中匹配一个非空字符序列”。


Jonathan Leffler发现的代码真正的问题是:

fscanf(fin, "%[^\n]", &p);
                      ^

删除,&因为您要传递p,而不是“ p的地址”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

%[^ \ n]在scanf()格式字符串中是什么意思

来自分类Dev

{:?}在Rust格式的字符串中是什么意思?

来自分类Dev

{:?}在Rust格式的字符串中是什么意思?

来自分类Dev

格式字符串周围的“ TEXT”在“ printf”中是什么意思

来自分类Dev

%[^ <](和朋友)在格式化的字符串家族中是什么意思?

来自分类Dev

格式字符串周围的“ TEXT”在“ printf”中是什么意思

来自分类Dev

“条件中的字符串文字”是什么意思?

来自分类Dev

字符串匹配“ s / \ r \ n / / g”在perl中是什么意思

来自分类Dev

Informix 4GL代码中的字符串格式化程序“ <<<&”是什么意思?

来自分类Dev

.NET字符串格式-小数点左边的#是什么意思?

来自分类Dev

//''是什么?在Perl中连接在字符串末尾时是什么意思?

来自分类Dev

“条件字符串”是什么意思?

来自分类Dev

WebKitFormBoundary之后的随机字符串是什么意思?

来自分类Dev

空字符串到底是什么意思?

来自分类Dev

WebKitFormBoundary之后的随机字符串是什么意思?

来自分类Dev

字符串前的“ @”是什么意思?

来自分类Dev

权限字符串lrwxrwxrwx是什么意思?

来自分类Dev

Swift中的字符串和字符比较不区分语言环境是什么意思?

来自分类Dev

{0}在字符串文字中(例如,在Console.WriteLine中)是什么意思?

来自分类Dev

正则表达式中的“转义字符串”是什么意思?(Javascript)

来自分类Dev

前导冒号在表示PyQt中路径的字符串中是什么意思

来自分类Dev

用户代理字符串中的“像Gecko一样的KHTML”是什么意思?

来自分类Dev

在SQL Server的连接字符串中,Enlist = false是什么意思?

来自分类Dev

Vimscript正则表达式字符串中的+号是什么意思

来自分类Dev

在C语言的字符串中添加迭代器是什么意思?

来自分类Dev

mongoDb连接字符串中的+ srv是什么意思

来自分类Dev

MySQL连接字符串中的“ pooling = false”是什么意思?

来自分类Dev

前导冒号在表示PyQt中路径的字符串中是什么意思

来自分类Dev

dmidecode输出中的“ OEM字符串”是什么意思?

Related 相关文章

  1. 1

    %[^ \ n]在scanf()格式字符串中是什么意思

  2. 2

    {:?}在Rust格式的字符串中是什么意思?

  3. 3

    {:?}在Rust格式的字符串中是什么意思?

  4. 4

    格式字符串周围的“ TEXT”在“ printf”中是什么意思

  5. 5

    %[^ <](和朋友)在格式化的字符串家族中是什么意思?

  6. 6

    格式字符串周围的“ TEXT”在“ printf”中是什么意思

  7. 7

    “条件中的字符串文字”是什么意思?

  8. 8

    字符串匹配“ s / \ r \ n / / g”在perl中是什么意思

  9. 9

    Informix 4GL代码中的字符串格式化程序“ <<<&”是什么意思?

  10. 10

    .NET字符串格式-小数点左边的#是什么意思?

  11. 11

    //''是什么?在Perl中连接在字符串末尾时是什么意思?

  12. 12

    “条件字符串”是什么意思?

  13. 13

    WebKitFormBoundary之后的随机字符串是什么意思?

  14. 14

    空字符串到底是什么意思?

  15. 15

    WebKitFormBoundary之后的随机字符串是什么意思?

  16. 16

    字符串前的“ @”是什么意思?

  17. 17

    权限字符串lrwxrwxrwx是什么意思?

  18. 18

    Swift中的字符串和字符比较不区分语言环境是什么意思?

  19. 19

    {0}在字符串文字中(例如,在Console.WriteLine中)是什么意思?

  20. 20

    正则表达式中的“转义字符串”是什么意思?(Javascript)

  21. 21

    前导冒号在表示PyQt中路径的字符串中是什么意思

  22. 22

    用户代理字符串中的“像Gecko一样的KHTML”是什么意思?

  23. 23

    在SQL Server的连接字符串中,Enlist = false是什么意思?

  24. 24

    Vimscript正则表达式字符串中的+号是什么意思

  25. 25

    在C语言的字符串中添加迭代器是什么意思?

  26. 26

    mongoDb连接字符串中的+ srv是什么意思

  27. 27

    MySQL连接字符串中的“ pooling = false”是什么意思?

  28. 28

    前导冒号在表示PyQt中路径的字符串中是什么意思

  29. 29

    dmidecode输出中的“ OEM字符串”是什么意思?

热门标签

归档