c++統(tǒng)計(jì)文件中字符個(gè)數(shù)代碼匯總
更新時(shí)間:2015年09月23日 09:00:09 投稿:hebedich
本文給大家匯總介紹了3種使用C++實(shí)現(xiàn)統(tǒng)計(jì)文件中的字符個(gè)數(shù)的方法,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。
我們先來看看下面的代碼:
#include<iostream> #include<fstream> #include<cstdlib> using namespace std; class CntCharacters { private: int cnt; public: CntCharacters():cnt(0){} ~CntCharacters(){} void opentxt(char* p) { ifstream fin; fin.open(p,ios_base::in); if(!fin.is_open()) { cout<<"cannot open the file,Please make sure the file is exist!\n"; exit(-1); } char temp; while(!fin.eof()) { fin>>temp; if((temp>='a'&&temp<='z')||(temp>='A'&&temp<='Z'))cnt++; } } void countthecharacter() { int count=0; char nameoffile[80]; cout<<"Please enter the name of file:"; cin>>nameoffile; // scanf("%s",nameoffile); opentxt(nameoffile); } void dis() { cout<<cnt<<endl; } }; int main() { CntCharacters* c=new CntCharacters; c->countthecharacter(); c->dis(); delete c; return 0; }
網(wǎng)上大神的簡(jiǎn)單代碼
#include<iostream> #include<fstream> using namespace std; int main() { fstream f("test.txt",ios::in); char c; int n=0; while(f.get(c))n++; cout<<n<<endl; f.close(); return 0; }
上面那方法會(huì)計(jì)算空格和換行,如果不想要換行和空格,可以這樣:
#include<iostream> #include<fstream> using namespace std; int main() { fstream f("test.txt",ios::in); char c; int n=0; while(f>>c)n++; cout<<n<<endl; f.close(); return 0; }
好了,最后來看一下項(xiàng)目中使用到的代碼
//countch.cpp #include <iostream> #include <fstream> #include <string> using namespace std; int main(int argc, char* argv[]) { ifstream fin(argv[1]); if (!fin) { cout << "Can't open file - " << argv[1] << "\nUseage : countch filename" << endl; return 1; } string d; int count = 0; while ( getline(fin, d) ) //以行為單位讀入文件 count += d.size(); //累計(jì)字符數(shù) cout << "\n Number of characters : "<< count << endl; }
相關(guān)文章
C語言標(biāo)準(zhǔn)庫(kù)<math.h>和<setjmp.h>的實(shí)現(xiàn)
本文主要介紹了C語言標(biāo)準(zhǔn)庫(kù)<math.h>和<setjmp.h>的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11C++中可以接受任意多個(gè)參數(shù)的函數(shù)定義方法(詳解)
下面小編就為大家?guī)硪黄狢++中可以接受任意多個(gè)參數(shù)的函數(shù)定義方法(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10使用C語言實(shí)現(xiàn)最小生成樹求解的簡(jiǎn)單方法
這篇文章主要介紹了使用C語言實(shí)現(xiàn)最小生成樹求解的簡(jiǎn)單方法,包括Prim算法和Kruskal算法的兩種求解方式,需要的朋友可以參考下2015-08-08帶你了解C++的動(dòng)態(tài)內(nèi)存分配
今天小編就為大家分享一篇關(guān)于關(guān)于C++動(dòng)態(tài)分配內(nèi)存的介紹,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2021-08-08