问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言:fscanf(fp,"%*[^\n]")为什么可以跳过全部字符直到下一个换行符

发布网友 发布时间:2022-04-28 13:05

我来回答

5个回答

热心网友 时间:2023-10-09 18:40

%*[^\n]这个通配符的意思,就是跳过所有字符,直到换行符为止。

scanf是格式输入函数,功能是在屏幕上输入指定的信息。简单的来说和printf相似却不相同。

scanf调用格式: scanf("<格式化字符串>",<地址表>);

如:

#include <stdio.h>

int main()

{

int a,b,c;

printf(“input three data:\n”);//使用 scanf 之前先用 printf 提示输入。

scanf("%d%d%d",&a,&b,&c); // scanf 的“输入参数”中,前面的取地址符&记住

printf("%d,%d,%d/n",a,b,c);

return 0;

}

扩展资料:

C语言通配符:

%a,%A:读入一个浮点值(仅C99有效)    

%c:读入一个字符    

%d:读入十进制整数    

%i:读入十进制,八进制,十六进制整数    

%o:读入八进制整数    

%x,%X:读入十六进制整数    

%s:读入一个字符串,遇空格、制表符或换行符结束。    

%f,%F,%e,%E,%g,%G:用来输入实数,可以用小数形式或指数形式输入。    

%p:读入一个指针    

%u:读入一个无符号十进制整数    

%n:至此已读入值的等价字符数    

%[]:扫描字符集合    

%%:读%符号

热心网友 时间:2023-10-09 18:40

%*[^\n]这个通配符的意思就是跳过所有字符 直到换行符为止。

^for (i=0;i<2;i++) fscanf(fin,"%*[^\n]%*c"); 跳过2行。

%* 是“跳过”

[^\n] 字符串的分隔符是"\n", 中括号里可以写 分隔符 表

%*[^\n] 跳过 \n 前的所有字符串。

%*c 是“跳过”行尾 的 换行符。

#include <stdio.h>

#include <stdlib.h>

main()

{

FILE *fin;

int x,y;

int i;

fin=fopen("a.txt","r");

for (i=0;i<2;i++) fscanf(fin,"%*[^\n]%*c"); // 跳2 行

fscanf(fin,"%d %d",&x,&y); // 读 2 个 int

printf("%d %d\n",x,y); // 打出 3 33

fclose(fin);

}

扩展资料:

可以使用星号代替零个、单个或多个字符。如果正在查找以AEW开头的一个文件,但不记得文件名其余部分,可以输入AEW*,查找以AEW开头的所有文件类型的文件,如AEWT.txt、AEWU.EXE、AEWI.dll等。要缩小范围可以输入AEW*.txt,查找以AEW开头的所有文件类型并.txt为扩展名的文件如AEWIP.txt、AEWDF.txt。

可以使用问号代替一个字符。如果输入love?,查找以love开头的一个字符结尾文件类型的文件,如lovey、lovei等。要缩小范围可以输入love?.doc,查找以love开头的一个字符结尾文件类型并.doc为扩展名的文件如lovey.doc、loveh.doc。

参考资料来源:百度百科-通配符

热心网友 时间:2023-10-09 18:41

因为%*[^\n]这个通配符的意思就是跳过所有字符 直到换行符为止。

*是跳过,^\n是“换行符”,连起来就是“跳过不是换行符的所有字符”,直到遇到第一个换行符就停下了。

fscanf是不定参数的。前者从fp中读取一个v,后者从fp中读取若干个空白字符,包括' ','\n','\t'等。

扩展资料:

fscanf 函数原型为 int fscanf(FILE * stream, const char * format, [argument...]);。format 说明符形式为[=%[*][width][modifiers]type=]

其功能为根据数据格式(format),从输入流(stream)中读入数据,存储到argument中,遇到空格和换行时结束。fscanf位于C标准库头文件<stdio.h>中。

参考资料来源:百度百科—fscanf

热心网友 时间:2023-10-09 18:41

%*[^\n]
这个通配符的意思就是
跳过所有字符 直到换行符为止。

更具体的 你可以百度
C语言scanf中正则的使用
有很多说明的文章的。

热心网友 时间:2023-10-09 18:42

你写的就是这个意思啊!*是跳过,^\n是“不是换行符”,连起来不就是“跳过不是换行符的所有字符”吗?直到遇到第一个换行符就停下来了!

热心网友 时间:2023-10-09 18:40

%*[^\n]这个通配符的意思,就是跳过所有字符,直到换行符为止。

scanf是格式输入函数,功能是在屏幕上输入指定的信息。简单的来说和printf相似却不相同。

scanf调用格式: scanf("<格式化字符串>",<地址表>);

如:

#include <stdio.h>

int main()

{

int a,b,c;

printf(“input three data:\n”);//使用 scanf 之前先用 printf 提示输入。

scanf("%d%d%d",&a,&b,&c); // scanf 的“输入参数”中,前面的取地址符&记住

printf("%d,%d,%d/n",a,b,c);

return 0;

}

扩展资料:

C语言通配符:

%a,%A:读入一个浮点值(仅C99有效)    

%c:读入一个字符    

%d:读入十进制整数    

%i:读入十进制,八进制,十六进制整数    

%o:读入八进制整数    

%x,%X:读入十六进制整数    

%s:读入一个字符串,遇空格、制表符或换行符结束。    

%f,%F,%e,%E,%g,%G:用来输入实数,可以用小数形式或指数形式输入。    

%p:读入一个指针    

%u:读入一个无符号十进制整数    

%n:至此已读入值的等价字符数    

%[]:扫描字符集合    

%%:读%符号

热心网友 时间:2023-10-09 18:40

%*[^\n]这个通配符的意思就是跳过所有字符 直到换行符为止。

^for (i=0;i<2;i++) fscanf(fin,"%*[^\n]%*c"); 跳过2行。

%* 是“跳过”

[^\n] 字符串的分隔符是"\n", 中括号里可以写 分隔符 表

%*[^\n] 跳过 \n 前的所有字符串。

%*c 是“跳过”行尾 的 换行符。

#include <stdio.h>

#include <stdlib.h>

main()

{

FILE *fin;

int x,y;

int i;

fin=fopen("a.txt","r");

for (i=0;i<2;i++) fscanf(fin,"%*[^\n]%*c"); // 跳2 行

fscanf(fin,"%d %d",&x,&y); // 读 2 个 int

printf("%d %d\n",x,y); // 打出 3 33

fclose(fin);

}

扩展资料:

可以使用星号代替零个、单个或多个字符。如果正在查找以AEW开头的一个文件,但不记得文件名其余部分,可以输入AEW*,查找以AEW开头的所有文件类型的文件,如AEWT.txt、AEWU.EXE、AEWI.dll等。要缩小范围可以输入AEW*.txt,查找以AEW开头的所有文件类型并.txt为扩展名的文件如AEWIP.txt、AEWDF.txt。

可以使用问号代替一个字符。如果输入love?,查找以love开头的一个字符结尾文件类型的文件,如lovey、lovei等。要缩小范围可以输入love?.doc,查找以love开头的一个字符结尾文件类型并.doc为扩展名的文件如lovey.doc、loveh.doc。

参考资料来源:百度百科-通配符

热心网友 时间:2023-10-09 18:41

因为%*[^\n]这个通配符的意思就是跳过所有字符 直到换行符为止。

*是跳过,^\n是“换行符”,连起来就是“跳过不是换行符的所有字符”,直到遇到第一个换行符就停下了。

fscanf是不定参数的。前者从fp中读取一个v,后者从fp中读取若干个空白字符,包括' ','\n','\t'等。

扩展资料:

fscanf 函数原型为 int fscanf(FILE * stream, const char * format, [argument...]);。format 说明符形式为[=%[*][width][modifiers]type=]

其功能为根据数据格式(format),从输入流(stream)中读入数据,存储到argument中,遇到空格和换行时结束。fscanf位于C标准库头文件<stdio.h>中。

参考资料来源:百度百科—fscanf

热心网友 时间:2023-10-09 18:41

%*[^\n]
这个通配符的意思就是
跳过所有字符 直到换行符为止。

更具体的 你可以百度
C语言scanf中正则的使用
有很多说明的文章的。

热心网友 时间:2023-10-09 18:42

你写的就是这个意思啊!*是跳过,^\n是“不是换行符”,连起来不就是“跳过不是换行符的所有字符”吗?直到遇到第一个换行符就停下来了!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... C语言里fscanf是如何处理%c与%s的 C语言 fprintf和fscanf 语法规则是什么 C语言中fscanf()按一定的格式读取文本文件! C语言fscanf的用法是什么 c语言fscanf()的问题 请问C语言这个程序中fscanf的作用是什么?和scanf一样吗? c语言fscanf函数问题 有人知道58.上说的北京别墅招保姆看管是真的吗? 58同城搜租房,只能搜全北京,怎么弄 58同城是北京的还是上海的? 58同城为什么只能选北京? 北京除了58还有哪个公司最大? 北京58同城总部办公室在哪里 介绍一下北京移动全球通58元套餐 北京58公交线路图? 58同城北京总部的地址在哪里?联系电话是多少? 58同城北京总部的地址在哪里 求58同城北京总部的电话和地址 北京58同城总部地址 58路公交车路线 C语言 fprintf和fscanf 怎么用 c语言中关于fscanf用法 有什么录屏软件不这样冲突的 也可以录闪照的给我来一个 工商银行网银被骗转给对方需要怎么处理 网银转账钱被骗24小时收可以追回吗? 网银转账被骗子骗了,怎么办 网银被骗了怎么办 网银转账怎么追回 网银被骗了怎么办? 怎样用css将下边的自动填充到空白处,在线等。。。同时天涯沦落人,css是一条不归路,各位大神帮帮忙吧。 我在网银转账被骗,怎么办? 银行转账我被骗了 网银转账的钱如何收回 被骗了! 网银转账被骗怎么办 很多人使用的是什么品牌的手机呀? 现在什么手机好用,用的比较多的手机是什么牌子 现在用什么牌子手机的比较多。 什么手机最多人用 现在用什么手机的人最多? 目前哪款手机用的人最多