b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

C/C++中的输入与输出及如何读取一行文本

电脑杂谈  发布时间:2019-08-01 10:10:01  来源:网络整理

c 读取txt文件_c fscanf 读取txt_c读取txt split

(1) good函数

bool good ( ) const;

检查输入流是否良好c fscanf 读取txt,可否继续进行输入。主要检查流的3个状态标志:eofbit, failbit 和badbit

(2) eof函数

bool eof ( ) const;

检查eofbit标志。用于测试是否达到文件末尾(EOF)

(3) fail函数

bool fail ( ) const;

检查failbit和badbit。测试是否出现输入错误。

(4) bad函数

bool bad ( ) const;

检查badbit。检查是否出错。

所以在具体的使用中,可以使用good函数来作为循环的判断条件。

所以,我们总结一下在C/C++中读取一个字符或字符串可以采用的方式。

1. 首先,读取一个字符:

C语言方式:

(1).采用getchar从stdin输入

while((c=getchar())!=EOF)

putchar(c);

(2). 采用fgetc/getc输入

while((c=fgetc(stdin))!=EOF)

fputc(c,stdout);

while((c=getc(stdin))!=EOF)

putc(c,stdout);

C++语言方式:

(1).采用重载操作符>>

while(cin>>c)

cout<<c<<endl;

这种形式会跳过所有的空白符,包括空格,换行,制表符

(2). 采用get函数

char c;

while(cin.good())

{

c=cin.get();

if(cin.good())//这儿就是判断是否读入了有效的字符

cout<<c;

}

这儿可以读入任何字符。

或者

char c;

while((c=cin.get())!=-1)

cout<<c;

这儿就是直接判断读到的字符,类似C中的思想。

2. 其次, 读取一行文本:

C语言方式:

(1). 采用gets函数,从stdin输入

char str[256];

while(gets(str)!=NULL)

puts(str);

(2). 使用比较安全的fgets函数

char str[256];

while(fgets(str,256,stdin)!=NULL)

fputs(str,stdout);

(3). gcc中扩展的函数

int read;

int len=0;

char *line=NULL;

while((len=getline(line,maxline))>0)。 while len getline line, maxline 0 if len max max len。while ((read = getline(&line, &len, fp)) 。

printf("%s\n",line);

free(line);

C++语言方式:

(1).采用操作符重载>>

string s;

while(cin>>s)

cout<<s<<endl;

这种方式会以空白(空格,换行,制表)为分隔符,不断的读入字符串。

(2). 采用istream类的成员函数getline

char str[256];

while(cin.good()){

cin.getline(str,256);

cout<<str<<endl;

}

char str[256];

while(cin.getline(str,256)){

cout<<str<<endl;

}

(3). 采用全局函数getline

string str;

while(getline(cin,str)){

cout<<str<<endl;

}

(4). 采用get函数

char str[265];

while(cin.good()){

cin.get(str,256);

cin.get();

cout<<str<<endl;

}

总结来看,如果要读取一行的话,

对于C语言,可以采用fgets函数,或者如果使用linux平台的话,可以采用扩展的getline函数。

注意,这两个函数都是要读入最后的换行符的。

对于C++语言,如果使用C字符串的话,就采用cin.getline()函数,如果采用string型字符串的话,就采用全局函数getline(cin,n);

注意c fscanf 读取txt,这两个函数都不读入最后的换行符。

这儿有一个关于getline函数的简单的总结:

这儿有一个关于cin中的getline和get函数的比较:

这儿是对C中输入输出函数的一个简单总结:


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-117431-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      每日福利
      热点图片
      拼命载入中...