在C++裡,用switch只能用來判斷整數或是字元,如果我需要對字串進行switch選擇操作呢?CodeGuru上的Switch on Strings in C++文章有舉例一種用法,原始碼如下:#include <map> #include <string> #include <iostream>using namespace std;// Value-Defintions of the different String values static
傳統的那些選擇C而不是C++的理由的說服力已經逐漸地被削弱。還有什麼繼續使用C的更好的理由嗎?一個 Dr. Dobb's的老讀者最近問我:為何人們還在使用C編程。這個話題最近曾在我們網站的評論中出現過。早期也曾出現在與一些行業公司的對話過程中,尤其是微 軟。在C++早期,根據你的需要,你可以有許多使用C或C++的理由;但隨著C++的演化,C的大量傳統的傑出特性已經變得不那麼優越了。考慮到
字串,顧名思義是由字元組成的字串,在標準C,標準C++,MFC中 字串這一功能的實現是不相同的,C++完全相容了C。1. 標準C中的字串 在標準C中沒有string這樣的資料類型,C中的字串是有char類型的字元數組或者char類型的字元指標來實現的。例如: char name[26]="This is a C-style string"; 或者 char *name="This is a C-style string";
今天要用C++來分割一段字串,比如說對於路徑C:\ug_en\xerces-c-3.0.0.zip來說,我想分離出檔案名稱,要怎麼辦呢?其實很簡單,只要把字串分割一下就好了:string dir = “C:\\ug_en\\xerces-c-3.0.0.zip”; string name; string::size_type position = dir.find_last_of(“\\”); name = dir.substr(position+1);注意的是,最後用到了position+1,
在 C++ 裡,如果需要把 int 的數值直接轉成字串(例如對於整數123,我能得到字串”123″),我們可以用很多種方法來實現:1) 用 C++ 裡的流量控制,可以輕鬆地實現整數轉成字串的功能:#include <sstream>#include <iostream>main(){ int abc = 123; std::ostringstream out; out << abc; std::cout <<
我在用 C++ 實現一個快取檔案的程式,即把很多遠程傳輸過來的檔案作為臨時檔案存到本地,當然,為了避免檔案名稱的衝突,需要按照一定的規律來重新給這些檔案取名稱。如果是用 C++,可以有以下幾種簡單的方法取一個臨時的檔案名稱:1) 用一個整數作為檔案名稱,比如說從 00001 開始一直增加到 99999,再把整數轉成字串作為檔案名稱。這裡要注意的是,如果是多線程程式,考慮到多線程的安全性,需要在取整數的時候,加一個鎖,取完整數後,讓整數加1,再解鎖。2) 如果是 Windows