在CC++中,fscanf(fp,"%s",temp_str);和fscanf(fp,"%lf",&min_snr);的意思分别是什么

在CC++中,fscanf(fp,"%s",temp_str);和fscanf(fp,"%lf",&min_snr);的意思分别是什么,第1张

fscanf就是从文件中读取数据,保存到第三个参数开始的变量里

fp是一个FILE类型的指针

fscanf(fp,"%s",temp_str);

//

就是从文件指针fp里面读取一个字符串,保存到temp_str里面,跟scanf差不多,只是scanf是从键盘输入,fscanf是从文件里读取

fscanf(fp,"%lf",&min_snr);

//

同理是从文件中读取一个double类型的数据,保存到min_snr里面

str是一个2维数组,每次从fp指向的文件里面读取一串放到str的一行里面,fscanf和scanf差不多,都是读取str的值,fscanf从fp指向文件里面读取,scanf从标准输入里面读取

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

% 是“跳过”

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

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

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

#include <stdioh>

#include <stdlibh>

main()

{

FILE fin;

int x,y;

int i;

fin=fopen("atxt","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);

}

文件例子:

1 2 3

2 345 56

3 33 333

4 444 444

scanf和fscanf函数是不能读空格和回车符的,在读取的时候会自动过滤掉这些分隔符。

要想读空格,必须用gets函数,在stringh中有定义,需要实现include它。

gets的用法:

chara[10];

gets(a);

c++下也可以用getline函数,不过建议VC用户不要用,因为微软的C++编译器有个经典的getlinebug在缓冲的时候会多缓冲一行。

以上就是关于在C/C++中,fscanf(fp,"%s",temp_str);和fscanf(fp,"%lf",&min_snr);的意思分别是什么全部的内容,包括:在C/C++中,fscanf(fp,"%s",temp_str);和fscanf(fp,"%lf",&min_snr);的意思分别是什么、在C语言中,while(fscanf(fp,"%s",str[n])>0) n++;是什么意思、C语言fscanf函数怎么从文件第三行开始读起等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9862750.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存