c/c++文件流字符串讀取操做

c文件打開與關閉:ios

打開:  FILE *fp = fopen(path, flag);c++

 關閉: 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++文件打開與關閉:spa

打開有兩種方式: 1. fstream file(path, flag);2. fstream file; file.open(path, flag);     當文件不存在時,若flag中有ios_base::in,則不建立文件。ci

關閉: 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還留在輸入流中。 get

getline 有讀取一整行的功能,這個函數有兩種:string

  1. in.getline(s, MAXLEN) 是cin的成員函數,只能讀入char[], 因此第一參數必須是char*,若是一行的字符數大於或等於MAXLEN則只讀入MAXLEN-1個字符。it

  2. getline(in, s, delim) 是string的友元函數,第一個參數是輸入流,第二個參數是string, 第三個參數是劃分字符io

相關文章
相關標籤/搜索