遇到了CString要轉char,int等等怎麼辦

2021-04-29 12:58:21 字數 1765 閱讀 6455

今日總結了下了簡單的方法;

其實早就有了sscanf函式;以前沒有注意,今日拿出來說說;

比如說我們用了cstring str="126";假如說這個資料是從edit控制項等地方取得;那麼我們需要int型別來計算;

就有了int a;

sscanf(str,"%d",&a);

//這個時候我們已經將126賦值給a了;a 的值就是126;

輸出之:

那麼就ok了;

再有輸出之:

printf("%d/n",a);

printf("%s/n",b);

容易和scanf混淆;

int sscanf( string str, string fmt, mixed var1, mixed var2 ... );

int scanf( const char *format [,argument]... );

說明:

sscanf與scanf類似,都是用於輸入的,只是後者以鍵盤(stdin)為輸入源,前者以固定字串為輸入源。

2. 取指定長度的字串。如在下例中,取最大長度為4位元組的字串。

sscanf("123456 ", "%4s", buf);

printf("%s/n", buf);

結果為:1234

3. 取到指定字元為止的字串。如在下例中,取遇到空格為止字串。

sscanf("123456 abcdedf", "%[^ ]", buf);

printf("%s/n", buf);

結果為:123456

4. 取僅包含指定字符集的字串。如在下例中,取僅包含1到9和小寫字母的字串。

sscanf("123456abcdedfbcdef", "%[1-9a-z]", buf);

printf("%s/n", buf);

結果為:123456abcdedf

5. 取到指定字符集為止的字串。如在下例中,取遇到大寫字母為止的字串。

sscanf("123456abcdedfbcdef", "%[^a-z]", buf);

printf("%s/n", buf);

結果為:123456abcdedf

6、給定乙個字串iios/12ddwdff@122,獲取 / 和 @ 之間的字串,先將 "iios/"過濾掉,再將非'@'的一串內容送到buf中

sscanf("iios/12ddwdff@122", "%*[^/]/%[^@]", buf);

printf("%s/n", buf);

結果為:12ddwdff

7、給定乙個字串「「hello, world」,僅保留world。(注意:「,」之後有一空格)

sscanf(「hello, world」, "%*s%s", buf);

printf("%s/n", buf);

結果為:world

%*s表示第乙個匹配到的%s被過濾掉,即hello被過濾了

如果沒有空格則結果為null。

sscanf,表示從字串中格式化輸入

上面表示從str中,輸入數字給x,就是32700

久以前,我以為c沒有自己的split string函式,後來我發現了sscanf;一直以來,我以為sscanf只能以空格來界定字串,現在我發現我錯了。

sscanf是乙個執行時函式,原形很簡單:

int sscanf(

const char *buffer,

const char *format [,

argument ] ...

我遇到了「新人牆」?

nba中每年都會湧入一批新秀,他們是聯盟未來的希望,但是他們需要2 3年的時間成長,最終成為合格的nba球員,少數成為超級巨星。但是在新秀期間,他們都會碰到所謂的新秀牆,在這個階段,他們遇到了麻煩,他們狀態起伏不定,上場時間或多或少,他們開始迷失自己,沒有上場時間,他們變得沒有自信,只有坐在板凳上看...

CString轉為string遇到的問題

今天寫程式遇到在mfc中獲取控制項上的字元時,定義了乙個cstring型別的變數來存放。然後需要將cstring型別轉為string型別,用於其他函式的使用 出現乙個問題,導致我晚上整整花了四十幾分鐘,想死的心都有了。由於對個中字元型別不是很了解,包括c style的字串,c 中模板basic st...

今天遇到了麻煩事

今天有兩件麻煩事 1 使用svn add增加我修改的一些檔案時,由於沒有在提交版本前make clean,因此看到有很多編譯中間 檔案被提交了,我趕忙按了ctrl c,make clean之後再提交就會出現找不到這些被刪除的檔案的錯誤資訊。這的錯誤主要原因是 svn add了一些檔案,但沒有svn ...