c/c++文件流字符串读取操作

c文件打开与关闭:

打开:  FILE *fp = fopen(path, flag);

 关闭: fclose(fp);

c文件流







char c

char s[]

格式化输入输出char s[]

FILE stdio FILE* fp stdio FILE *fp stdio FILE*fp
read c=getchar(); c=getc(fp); gets(s); fgets(s,fp); scanf("%s",s); fscanf(fp,"%s",s);
write putchar(c); putc(c,fp); puts(s); fputs(s,fp); printf("%s",s); fprintf(fp,"%s",s);


c++文件打开与关闭:

打开有两种方式: 1. fstream file(path, flag);2. fstream file; file.open(path, flag); 

关闭: file.close()

c++文件流









char c
char s[]
char s[] 读取整行
string s
string s 读取整行
stream iostream ifstream in;ofstream out iostream ifstream in;ofstream out iostream ifstream in iostream fstream iostream ; fstream
read cin>>c; in>>c; cin>>s; in>>s; cin.getline(s,MAXLEN); in.getline(s,MAXLEN); cin>>s; in>>s; getline(in,s, delim);
write cout<<c; out<<c; cout<<s; out<<s;

cout<<s; out<<s;


注:除标准格式化输入不读入字符串末尾blank外,其余都会读入末尾一个blank(\n,space,\t其中之一),并舍弃掉。也就是说scanf之后blank还留在输入流中。 

getline 有读取一整行的功能,这个函数有两种:

  1. in.getline(s, MAXLEN) 是cin的成员函数,只能读入char[], 所以第一参数必须是char*,如果一行的字符数大于或等于MAXLEN则只读入MAXLEN-1个字符。

  2. getline(in, s, delim) 是string的友元函数,第一个参数是输入流,第二个参数是string, 第三个参数是划分字符

你可能感兴趣的:(c/c++)