在我們的工作學習中,經常涉及到讀取文本文件的操作,其實這些簡單的常用操作我們應當熟記於心。
本文分別列舉了C和C++下按照每行的格式讀取文本文件,其中C++的實現中將單詞以空格爲分隔符輸出,可以看到C++對字符串的處理確實要強大一些。
c實現:
c++實現:
補充getline函數知識:
對於下面這個程序
1、兩個函數雖然看上去名稱相同都是getline,但它們有所不同。
cin.getline(charr,20);的getline是輸入流對象的成員函數,即istream::getline,使用時需頭文件 #include <iostream>;getline(cin,str);的getline是std名字空間下的庫函數,即std::getline,使用時需頭文件 #include <string>。
2、string類的getline(cin,str);中第一個參數要求是一個輸入流對象的引用,即istream&,第二個參數則是一個string類的對象。這裏cin就是C++內部定義的一個全局的輸入流對象,即extern istream cin,str是定義的string類對象。
C++:
istream::getline(char* szLine, size_t sizeof(szLine));
istream::getline(char* szLine, size_t count, char delim);
STL:
getline(cin, string& sLine);
getline(cin, string& sLine, char delim);
C:
getline(char* szLine, size_t sizeof(szLine), FILE* fp);