从命令行读取一个文件的文件名,输出文本有多少个字符
#include <iostream> #include <fstream> #include <string> #include <cstdlib> using namespace std; int count_words(char *filename){ int nb_of_chars = 0; char ch; ifstream inFile; inFile.open(filename); if(!inFile.is_open()){ printf("%s cannot open\n", filename); exit(EXIT_FAILURE); } inFile >> noskipws; inFile >> ch; while(inFile.good()){ nb_of_chars++; inFile >> ch; } return nb_of_chars; } int main(int args, char *argv[]){ int res; res = count_words(argv[1]); printf("%s\t%d\n", argv[1], res); }
要注意的是C++的ifstream创建的inFile会默认跳过空白字符,因此noskipws是一个必要的参数
原文:https://www.cnblogs.com/AcodingDg/p/10257652.html