在我们的工作学习中,经常涉及到读取文本文件的操作,其实这些简单的常用操作我们应当熟记于心。
本文分别列举了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);