c 字串分割和數字格式化輸出

2021-10-19 14:28:28 字數 2845 閱讀 6604

// stringoperatedlg.cpp: 實現檔案

//#include "pch.h"

#include "framework.h"

#include "stringoperate.h"

#include "stringoperatedlg.h"

#include "afxdialogex.h"

#ifdef _debug

#define new debug_new

#endif

// 用於應用程式「關於」選單項的 caboutdlg 對話方塊

class caboutdlg : public cdialogex

;#endif

protected:

virtual void dodataexchange(cdataexchange* pdx); // ddx/ddv 支援

// 實現

protected:

declare_message_map()

};caboutdlg::caboutdlg() : cdialogex(idd_aboutbox)

void caboutdlg::dodataexchange(cdataexchange* pdx)

begin_message_map(caboutdlg, cdialogex)

end_message_map()

// cstringoperatedlg 對話方塊

cstringoperatedlg::cstringoperatedlg(cwnd* pparent /*=nullptr*/)

: cdialogex(idd_stringoperate_dialog, pparent)

, m_strsource(_t(""))

, m_strsqlit(_t(""))

, m_ninput(0)

, m_stroutput(_t(""))

, m_nformat(0)

void cstringoperatedlg::dodataexchange(cdataexchange* pdx)

begin_message_map(cstringoperatedlg, cdialogex)

on_wm_syscommand()

on_wm_paint()

on_wm_querydragicon()

on_bn_clicked(idc_btn_split, &cstringoperatedlg::onbnclickedbtnsplit)

on_bn_clicked(idc_btn_format, &cstringoperatedlg::onbnclickedbtnformat)

end_message_map()

// cstringoperatedlg 訊息處理程式

bool cstringoperatedlg::oninitdialog()

} // 設定此對話方塊的圖示。 當應用程式主視窗不是對話方塊時,框架將自動

// 執行此操作

seticon(m_hicon, true); // 設定大圖示

seticon(m_hicon, false); // 設定小圖示

// todo: 在此新增額外的初始化**

setdlgitemtext(idc_edit1, "abc--def--ghi--jkl");

setdlgitemtext(idc_edit2, "--");

return true; // 除非將焦點設定到控制項,否則返回 true

}void cstringoperatedlg::onsyscommand(uint nid, lparam lparam)

else }

// 如果向對話方塊新增最小化按鈕,則需要下面的**

// 來繪製該圖示。 對於使用文件/檢視模型的 mfc 應用程式,

// 這將由框架自動完成。

void cstringoperatedlg::onpaint()

else }

//當使用者拖動最小化視窗時系統呼叫此函式取得游標

//顯示。

hcursor cstringoperatedlg::onquerydragicon()

void cstringoperatedlg::onbnclickedbtnsplit()

updatedata(true);

if (m_strsqlit.isempty())

cstringarray strdestarray;

stringsplit(m_strsource, strdestarray, m_strsqlit);

for (size_t i = 0; i < strdestarray.getsize(); i++)

updatedata(false);

}void cstringoperatedlg::stringsplit(cstring strsource, cstringarray& strdestarray, cstring strdivision)

if (npos>nprepos)

npos += strdivision.getlength(); }}

void cstringoperatedlg::onbnclickedbtnformat()

cstring strinput = "";

getdlgitem(idc_edit_input)->getwindowtext(strinput);

if (strinput.isempty())

float finput = -1;

switch (m_nformat)

updatedata(false);

}

字串格式化輸出

你好 info s name s age s salary s name,name,age,job s 也可以換成 d s代表 string d 代表只能接受數字 他的作用是幫助你檢測輸入的資料型別 還有乙個 f 代表的是浮點小數 注意 s點位符要和括號裡的位數相等 msg 這個地方是不顯示的 na...

字串格式化輸出

我們格式化構建字串可以有3種方法 1 元組佔位符 m python astr i love s m print astr 2 字串的format方法 m python astr i love format python m print astr 3 字典格式化字串 m python astr i l...

字串格式化輸出

格式化字串時,python使用乙個字串作為模板 模板中有格式符 這些格式符為真實值預留位置,並說明真實數值應該呈現的格式。python用乙個tuple將多個值傳遞給模板,每個值對應乙個格式符。比如下面的例子 print i m s.i m d year old vamei 99 上面的例子中,i m...