字模软件增加函数注释 加HEX空格 next Serial

发布时间:2026/7/17 1:17:33
字模软件增加函数注释 加HEX空格 next Serial // FONTDlg.cpp : implementation file/*2014 5 2 16:23增加函数注释*********************/#include stdafx.h#include FONT.h#include FONTDlg.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] __FILE__;#endif/////////////////////////////////////////////////// CAboutDlg dialog used for App About/*1**********************************************/class CAboutDlg : public CDialog{public:CAboutDlg();// Dialog Data//{{AFX_DATA(CAboutDlg)enum { IDD IDD_ABOUTBOX };//}}AFX_DATA// ClassWizard generated virtual function overrides//{{AFX_VIRTUAL(CAboutDlg)protected:virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support//}}AFX_VIRTUAL// Implementationprotected://{{AFX_MSG(CAboutDlg)//}}AFX_MSGDECLARE_MESSAGE_MAP()};/*2**********************************************/CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD){//{{AFX_DATA_INIT(CAboutDlg)//}}AFX_DATA_INIT}/*3**********************************************/void CAboutDlg::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CAboutDlg)//}}AFX_DATA_MAP}/*4**********************************************/BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)//{{AFX_MSG_MAP(CAboutDlg)// No message handlers//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// CFONTDlg dialog/*5**********************************************/CFONTDlg::CFONTDlg(CWnd* pParent /*NULL*/): CDialog(CFONTDlg::IDD, pParent){//{{AFX_DATA_INIT(CFONTDlg)m_ZiInput _T();m_FontHeight _T(16);m_ZiInput _T(佳);m_Movx 0;m_Movy 0;//}}AFX_DATA_INIT// Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon AfxGetApp()-LoadIcon(IDR_MAINFRAME);m_Movy m_Movx 0;}/*6**********************************************/void CFONTDlg::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CFONTDlg)DDX_Control(pDX, IDC_EDIT5, m_Edit5);DDX_Control(pDX, IDC_COMBO2, m_ModeCBox);DDX_Control(pDX, IDC_COMBO1, m_CBox);DDX_Control(pDX, IDC_EDIT1, m_Edit);DDX_Text(pDX, IDC_EDIT1, m_ZiInput);DDX_CBString(pDX, IDC_COMBO1, m_FontHeight);DDX_Text(pDX, IDC_EDIT3, m_Movx);DDX_Text(pDX, IDC_EDIT4, m_Movy);//}}AFX_DATA_MAP}/*7**********************************************/BEGIN_MESSAGE_MAP(CFONTDlg, CDialog)//{{AFX_MSG_MAP(CFONTDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON1, OnButton1)ON_BN_CLICKED(IDC_BUTTON2, OnButton2)ON_BN_CLICKED(IDC_BUTTON3, OnButton3)ON_BN_CLICKED(IDC_BUTTON4, OnButton4)ON_BN_CLICKED(IDC_BUTTON5, OnButton5)ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit1)ON_EN_CHANGE(IDC_EDIT3, OnChangeEdit3)ON_EN_CHANGE(IDC_EDIT4, OnChangeEdit4)ON_CBN_EDITCHANGE(IDC_COMBO1, OnEditchangeCombo1)ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// CFONTDlg message handlers/*8**********************************************/BOOL CFONTDlg::OnInitDialog(){CString str;str.LoadString(IDR_MAINFRAME);SetWindowText(str);CDialog::OnInitDialog();SetIcon(m_hIcon, TRUE); // Set big iconSetIcon(m_hIcon, FALSE); // Set small iconGetFont()-GetLogFont(lf);m_ModeCBox.SetCurSel(0);return TRUE; // return TRUE unless you set the focus to a control}/*9**********************************************/void CFONTDlg::OnSysCommand(UINT nID, LPARAM lParam){if ((nID 0xFFF0) IDM_ABOUTBOX){CAboutDlg dlgAbout;dlgAbout.DoModal();}else{CDialog::OnSysCommand(nID, lParam);}}/*10**********************************************/void CFONTDlg::OnPaint(){CPaintDC dc(this); // device context for paintingUpdateFont(dc);}/*11**********************************************/HCURSOR CFONTDlg::OnQueryDragIcon(){return (HCURSOR) m_hIcon;}/*12**********************************************/void CFONTDlg::OnButton1(){CFontDialog dlg(lf);if(dlg.DoModal() IDOK){dlg.GetCurrentFont(lf);HFONT hfont ::CreateFontIndirect(lf);Invalidate();m_FontHeight.Format(%d,abs(lf.lfHeight));m_CBox.SetWindowText(m_FontHeight);}}/*13**********************************************/void CFONTDlg::OnButton2(){CDC MemDC; //首先定义一个显示设备对象CBitmap MemBitmap;//定义一个位图对象CClientDC dc(this);MemDC.CreateCompatibleDC(NULL);MemBitmap.CreateCompatibleBitmap(dc, 100, 100);CBitmap *pOldBitMemDC.SelectObject(MemBitmap);HFONT hfont ::CreateFontIndirect(lf);CFont* pfont CFont::FromHandle(hfont);CFont* def_font MemDC.SelectObject(pfont);BYTE i,j;CString str;char strdc[4]{0};int height abs( lf.lfHeight );str.Format(hz%d%s.c, height, lf.lfFaceName);CFile f( str, CFile::modeCreate | CFile::modeWrite );CArchive ar(f, CArchive::store);str.Format( /*中文字库 %s font%d.c*/\r\n#include font_mac.h\r\nconst char hz%d[] {\r\n,lf.lfFaceName, height, height);for(i0; istr.GetLength(); i)arstr.GetAt(i);for(i0xA1; i0xF8; i){strdc[0] i;for(j0xA1; j0xFF; j){ar \t;ar / /;ar ij;ar \r \n;strdc[1] j;MemDC.FillSolidRect(0, 0, 100, 100, RGB(255,255,255));MemDC.TextOut(0, 0, strdc, 2);GetFontToFile(MemDC, ar, height, height );}}ar };ar \r \n;ar.Close();f.Close();::DeleteObject(hfont);MemBitmap.DeleteObject();MemDC.DeleteDC();}/*14**********************************************/void CFONTDlg::OnButton3() //ok{CDC MemDC; //首先定义一个显示设备对象CBitmap MemBitmap;//定义一个位图对象CClientDC dc(this);MemDC.CreateCompatibleDC(NULL);MemBitmap.CreateCompatibleBitmap(dc, 100, 100);CBitmap *pOldBitMemDC.SelectObject(MemBitmap);HFONT hfont ::CreateFontIndirect(lf);CFont* pfont CFont::FromHandle(hfont);CFont* def_font MemDC.SelectObject(pfont);int height abs( lf.lfHeight );int width;BYTE c;int i;CString str;str.Format(font%dAssic%s.c, height, lf.lfFaceName);CFile f( str, CFile::modeCreate | CFile::modeWrite );CArchive ar(f, CArchive::store);TRACE(lf.lfFaceName);str.Format( /*ASSIC %s font%d.c*/\r\n#include font_mac.h\r\nconst char font%d[] {\r\n,lf.lfFaceName, height, height);for(i0; istr.GetLength(); i)arstr.GetAt(i);for(c0x20; c127; c){ar \t;ar / /;str.Format(%c, c);ar c;ar \r \n;MemDC.FillSolidRect(0, 0, height, height, RGB(255,255,255));MemDC.TextOut(0, 0, str, str.GetLength());width height/2;GetFontToFile(MemDC, ar, width, height );ar \r \n;}ar };ar \r \n;ar.Close();f.Close();MemDC.SelectObject(def_font);::DeleteObject(hfont);MemBitmap.DeleteObject();MemDC.DeleteDC();}/*CreateCompatibleDC现有设备上下文环境的句柄,如果该句柄为NULL.*//*该函数创建一个与应用程序的当前显示器兼容的内存设备上下文环境*//*CreateCompatibleBitmap该函数创建与指定设备环境相关兼容的位图*//*函数原型HBITMAP CreateCompatibleBitmap(HDC hdc,int nWidth,intnHeight)**hdc设备环境句柄.nWidth:指定位图的宽度,单位为像素.nHeight指定位图的高度,单位为像素。如果函数执行成功那么返回值是位图的句柄如果函数执行失败那么返回值为NULL。若想获取更多错误信息请调用GetLastError。*//*CreateFontIndirect该函数创建一种在指定结构定义其特性的逻辑字体。这种字体可在后面的应用中被任何设备环境选作字体。函数原型HFONT CreateFontIndirect(CONST LOGFONT *lplf)参数lplf指向定义此逻辑字体特性的LOGFONT结构的指针。返回值如果函数调用成功,返回值是逻辑字体的句柄;如果函数调用失败,返回值是NULL.*//**//**//**//*15**************转换****************************/void CFONTDlg::OnButton4()//ok{UpdateData(); //更新编辑框CString str; //字符串对象strCString out; //字符串对象outCDC MemDC; //首先定义一个显示设备对象 MemDCCBitmap MemBitmap; //定义一个位图对象 MemBitmapCClientDC dc(this); //获取当前的绘制设备(如:窗口,打印机)句柄MemDC.CreateCompatibleDC(NULL); //函数创建一个与应用程序当前显示器兼容的内存设备上下文环境MemBitmap.CreateCompatibleBitmap(dc,100,100); //创建与指定设备环境相关兼容的位图CBitmap *pOldBitMemDC.SelectObject(MemBitmap);//在MemDC上画一个位图HFONT hfont::CreateFontIndirect(lf); //创建一种在指定结构定义其特性的逻辑字体CFont* pfontCFont::FromHandle(hfont); //CFont* def_fontMemDC.SelectObject(pfont); //选择新字体int i; //str; //out; //for(i0; im_ZiInput.GetLength();) //获得字节数{ //WCHAR chm_ZiInput.GetAt(i)0xFF; //函数返回值当前索引下所对应的数组元素if(ch0xA0) //1010 0000 12832160{ //chm_ZiInput.GetAt(i)8; //当前索引下所对应的数组元素} //switch(m_ModeCBox.GetCurSel()) //{ //case 0: //TCharToZi(MemDC,ch,str); //横向取模break; //case 1: //TCharToZiH(MemDC,ch,str); //纵向取模break; //} //outstr; //} //SetDlgItemText(IDC_EDIT2, out ); //MemDC.SelectObject(def_font); //// Done with the font. Delete the font object.::DeleteObject(hfont); //绘图完成后的清理MemBitmap.DeleteObject();MemDC.DeleteDC();}/*16**********************************************/void CFONTDlg::OnButton5() //ok{int i,j,c;CString str font_mac.h;CString out;CFile f( str, CFile::modeCreate | CFile::modeWrite );str /*font_mac.h*/\r\n#ifndef __FONT_MAC_H__\r\n#define __FONT_MAC_H__\r\n\r\n\r\n;f.Write(str.GetBuffer(0), str.GetLength());for(i0; i256; i){str #define ;c 1;for(j0; j8; j){if( i c){str X;}elsestr _;c1;}out.Format( \t0x%02X\r\n, i ); //str out; //f.Write(str.GetBuffer(0), str.GetLength()); //} //str \r\n\r\n#endif /*__FONT_MAC_H__*/\r\n; //f.Write(str.GetBuffer(0), str.GetLength()); //f.Close(); //}/*17**********************************************/void CFONTDlg::OnChangeEdit1(){Invalidate();}/*18**********************************************/void CFONTDlg::OnChangeEdit3(){Invalidate();}/*19**********************************************/void CFONTDlg::OnChangeEdit4(){Invalidate();}/*20**********************************************/void CFONTDlg::OnEditchangeCombo1(){UpdateData(TRUE);lf.lfHeight -atoi(m_FontHeight);Invalidate();}/*21**********************************************/int CFONTDlg::ColorToBool(COLORREF color){int ret;retGetRValue(color)*30 GetGValue(color)*59GetBValue(color)*11;ret/100;return ret;}/*22**********************************************/void CFONTDlg::DisFont()//ok{CDC MemDC; //首先定义一个显示设备对象CBitmap MemBitmap;//定义一个位图对象int heightabs(lf.lfHeight);CClientDC dc(this);MemDC.CreateCompatibleDC(NULL);MemBitmap.CreateCompatibleBitmap(dc, 100, 100);CBitmap *pOldBitMemDC.SelectObject(MemBitmap);HFONT hfont ::CreateFontIndirect(lf);CFont* pfont CFont::FromHandle(hfont);CFont* def_font MemDC.SelectObject(pfont);CString str;m_Edit.GetWindowText(str);MemDC.FillSolidRect(0,0,height,height,RGB(255,255,255));MemDC.TextOut(0,0,str,str.GetLength());MemDC.SelectObject(def_font);int i,j;int x,y;CRect rect;GetClientRect(rect);y0;xrect.Width()-height*10;for(i0;iheight;i){for(j0;jheight;j){COLORREF colorMemDC.GetPixel(j, i);dc.FillSolidRect(xj*10,y,9,9,color);}y10;}::DeleteObject(hfont);MemBitmap.DeleteObject();MemDC.DeleteDC();}/*23*GetFontToFile从文件获取字体**************************//*CArchive ar文档类 int width, int height整型宽高 ****/void CFONTDlg::GetFontToFile(CDC *pDC, CArchive ar, int width, int height)//ok{int i, j;for(i0; iheight; i){ar \t; //水平制表(HT) 跳到下一个TAB位置for(j0; jwidth; j){COLORREF color pDC-GetPixel(jm_Movx, im_Movy);ar (ColorToBool(color)? _: X);if( (j1)%8 0 ) //ar,; //}j(j)%8;if(j! 0){for(;j8;j){ar_;}ar,;}ar\r\n; //\r回车(CR) 将当前位置移到本行开头}ar\r\n; //\n将当前位置移到下一行开头}/*24横向取模**********************************************/int CFONTDlg::TCharToZi(CDC *pDC, WCHAR ch, CString str)//ok{int heightabs(lf.lfHeight); //绝对值下拉列表框的负值转正m_Edit5.SetSel(0,-1); //测试代码选上所有内容m_Edit5.ReplaceSel(); //测试代码显示编辑框2内容char sPos[10]; //测试代码itoa(height,sPos,10); //测试代码m_Edit5.ReplaceSel(sPos); //测试代码int widthch0xA0? height: height/1; //大于0xA0 /2改/1数字全屏显示int i(width7)/8 ; //int cntheight * i; //BYTE *buff, *pd; //char chBuff[4]{0}; //int x,y; //buff(BYTE *)malloc(cnt); //使用malloc分配内存的首地址然后赋值给buffif( buffNULL) //return FALSE; //pdbuff; //ZeroMemory(buff, cnt); //ZeroMemory宏用0来填充一块内存区域chBuff[0]ch0xFF; //if(ch0xA0) //{ //chBuff[1](ch8)0xFF;}/**%s字符串%d十进制**\r回车将当前位置移到本文开头\n换行将当前位置移到下一行开头,\t水平制表跳到下一个tab位置**///str.Format(\r\n\t/*%s%dx%d 横向取模*/\r\n\t{, chBuff, width, height);//chBuff要转换代码的汉字//str.Format(\r\n\t/*%s%dX%d 横向取模*/\r\n\t\n, chBuff, width, height);//注销中文显示pDC-FillSolidRect(0, 0, height10, height10, RGB(255,0,0));pDC-TextOut(0, 0, chBuff, 2); //TRACE(\r\n%s\r\n, chBuff ); //TRACEWIN.Hfor(y0; yheight; y) //字体高{for(x0;xwidth;x) //字体宽{*pd1; //左移一位COLORREF colorpDC-GetPixel(xm_Movx, ym_Movy);if(!ColorToBool(color)) //判断颜色{TRACE(%c, X); //输出一个字符*pd|0x01; //最低位相或}elseTRACE(%c, _); //if( (x1)%8 0){TRACE(%c, ,); //移动8位pd; //加一}}xx%8; //if(x) //{ //for(;x8;x) //TRACE(%c,_); //TRACE(%c,,); //*pd 8-x; //pd; //} //TRACE(\r\n); //} //CString out; //for( i0; icnt-1; i) //{ //out.Format(%02X , buff[i]); //x 必须是一个整形值以十六进制的形式返回.%02X(空格)strout; //} //// out.Format(0x%02X}, buff[i]); //输出大扩弧右部}str out;free(buff);return TRUE;}/*25纵向取模**********************************************//*1:函数 void CFONTDlg::OnSelchangeCombo1()中 *//*2:lf.lfHeight buff[m_CBox.GetCurSel()];************** */int CFONTDlg::TCharToZiH(CDC *pDC, WCHAR ch, CString str)//ok{int heightabs( lf.lfHeight );//lf.lfHeight buff[m_CBox.GetCurSel()];int widthch0xA0? height: height/1; //BYTE字节int i(height7)/8 ;int cntwidth * i;BYTE *buff,*pd; //字节类指针char chBuff[4]{0}; //字符数据表int x,y,j;buff(BYTE *) malloc( cnt ); //向系统申请分配指定BYTE *字节的内存空间if(buffNULL) //如果buffNULLreturn FALSE; //返回假pdbuff; //ZeroMemory(buff, cnt ); //用0来填充一块内存区域chBuff[0]ch0xFF; //if(ch0xA0 ) //1010 0000{chBuff[1](ch8)0xFF; //}/**%s字符串%d十进制**\r回车将当前位置移到本文开头\n换行将当前位置移到下一行开头,\t水平制表跳到下一个tab位置Format是CString类的一个成员函数它通过格式操作使任意类型的数据转换成一个字符串。 FillSolidRect调用该成员函数具有指定的纯色填充给定矩形的函数 **/str.Format(\r\n\t/*%s%dx%d 纵向取模*/\r\n{\n, chBuff, width, height);pDC-FillSolidRect(0, 0, height10, height10, RGB(255,0,0));pDC-TextOut(0, 0, chBuff, 2);for(j0; jheight/8; j){yj*8;for(x0;xwidth;x){for(i0;i8;i){*pd1;COLORREF color pDC-GetPixel(xm_Movx, yim_Movy);if( !ColorToBool(color) ){*pd|0x01;}}pd;}}if( height % 8 ){yj*8;for(x0;xwidth;x){for(i0;i8;i){*pd1; //? GetPixel检索指定坐标点像素RGB颜色值。COLORREF color pDC-GetPixel(xm_Movx, yim_Movy);if( !ColorToBool(color) ){*pd|0x80; //0X01?}}pd; //指针加一}}CString out;for( i0; icnt-1; i){out.Format(0x%02X,, buff[i]); //格式化strout;}out.Format(0x%02X}, buff[i]);strout;free(buff); //释放return TRUE;}/*26**********************************************/void CFONTDlg::UpdateFont(CDC *pDC) //ok{UpdateData(TRUE); //MFC的窗口函数用来刷新数据CDC MemDC;CBitmap MemBitmap;int height abs( lf.lfHeight );MemDC.CreateCompatibleDC(NULL); //创建一个与指定设备兼容的内存设备上下文环境DCMemBitmap.CreateCompatibleBitmap(pDC, 100, 100); //创建与指定的设备环境相关的设备兼容的位图CBitmap *pOldBitMemDC.SelectObject(MemBitmap); //选择一对象到指定的设备上下文环境中选择一对象到指定的设备上下文环境中HFONT hfont ::CreateFontIndirect(lf); //创建一种在指定结构定义其特性的逻辑字体CFont* pfont CFont::FromHandle(hfont); //new一个CWnd对象CFont* def_font MemDC.SelectObject(pfont); //选择一对象到指定的设备上下文环境中选择一对象到指定的设备上下文环境中CString str; //定义一个CString类对象 strm_Edit.GetWindowText(str); //将指定窗口的标题条文本拷贝到一个缓存区内-编辑框1MemDC.FillSolidRect(0, 0, 100, 100, RGB(255,255,255));//DDX_Control(pDX, IDC_EDIT1, m_Edit);MemDC.TextOut(0, 0, str, str.GetLength()); //获取字符串长度MemDC.SelectObject(def_font); //选择一对象到指定的设备上下文环境中int i,j;int x, y;y 0;x 0;for(i0; iheight; i){for(j0; jheight; j){COLORREF colorMemDC.GetPixel(jm_Movx, im_Movy);pDC-FillSolidRect(xj*10, y, 9, 9, color);}y 10;}::DeleteObject(hfont); //MemBitmap.DeleteObject(); //MemDC.DeleteDC(); //删除指定的设备上下文环境Dc。}/*DeleteObject删除一个逻辑笔、画笔、字体、位图、区域或者调色板释放所有与该对象有关的系统资源在对象被删除之后指定的句柄也就失效了。* **//*27**********************************************/void CFONTDlg::OnSelchangeCombo1(){// TODO: Add your control notification handler code hereint buff[] {-16,-24,-32,-40,-48,-56,-64}; //m_CBox ::DoDataExchange(CDataExchange* pDX)lf.lfHeight buff[m_CBox.GetCurSel()]; //返回组合框中列表框中当前选中的项的下标Invalidate(); //重绘窗口}itoa()函数C语言提供了几个标准库函数可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用itoa()函数将整数转 换为字符串的一个例子#include stdio.h#include stdlib.hvoid main (void){int num 100;char str[25];itoa(num, str, 10);printf(The number ’num’ is %d and the string ’str’ is %s. \n , num, str);}itoa()函数有3个参数第一个参数是要转换的数字第二个参数是要写入转换结果的目标字符串第三个参数是转移数字时所用 的基数。在上例中转换基数为10。10十进制2二进制...itoa并不是一个标准的C函数它是Windows特有的如果要写跨平台的程序请用sprintf。是Windows平台下扩展的标准库中有sprintf功能比这个更强用法跟printf类似char str[255];sprintf(str, %x, 100); //将100转为16进制表示的字符串。下列函数可以将整数转换为字符串------ 函数名 作 用 ------------------------------------------------itoa() 将整型值转换为字符串itoa() 将长整型值转换为字符串ultoa() 将无符号长整型值转换为字符串一atoi 把字符串转换成整型数 例程序#include ctype.h#include stdio.hint atoi (char s[]);int main(void ){char s[100];gets(s);printf(integer%d\n,atoi(s));return 0;}int atoi (char s[]){int i,n,sign;for(i0;isspace(s[i]);i)//跳过空白符sign(s[i]’-’)?-1:1;if(s[i]’’||s[i]’ -’)//跳过符号i;for(n0;isdigit(s[i]);i)n10*n(s[i]-’0’);//将数字字符转换成整形数字return sign *n;}二 itoa 把一整数转换为字符串 例程序#include ctype.h#include stdio.hvoid itoa (int n,char s[]); //atoi 函数将转换为整形数int main(void ){int n;char s[100];printf(Input n:\n);scanf(%d,n);printf(the string : \n);itoa (n,s); return 0; }void itoa (int n,char s[]){int i,j,sign;if((signn)0)//记录符号itoa()函数C语言提供了几个标准库函数可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用itoa()函数将整数转 换为字符串的一个例子#include stdio.h#include stdlib.hvoid main (void){int num 100;char str[25];itoa(num, str, 10);printf(The number ’num’ is %d and the string ’str’ is %s. \n , num, str);}itoa()函数有3个参数第一个参数是要转换的数字第二个参数是要写入转换结果的目标字符串第三个参数是转移数字时所用 的基数。在上例中转换基数为10。10十进制2二进制...itoa并不是一个标准的C函数它是Windows特有的如果要写跨平台的程序请用sprintf。是Windows平台下扩展的标准库中有sprintf功能比这个更强用法跟printf类似char str[255];sprintf(str, %x, 100); //将100转为16进制表示的字符串。下列函数可以将整数转换为字符串------ 函数名 作 用 ------------------------------------------------itoa() 将整型值转换为字符串itoa() 将长整型值转换为字符串ultoa() 将无符号长整型值转换为字符串一atoi 把字符串转换成整型数 例程序#include ctype.h#include stdio.hint atoi (char s[]);int main(void ){char s[100];gets(s);printf(integer%d\n,atoi(s));return 0;}int atoi (char s[]){int i,n,sign;for(i0;isspace(s[i]);i)//跳过空白符sign(s[i]’-’)?-1:1;if(s[i]’’||s[i]’ -’)//跳过符号i;for(n0;isdigit(s[i]);i)n10*n(s[i]-’0’);//将数字字符转换成整形数字return sign *n;}二 itoa 把一整数转换为字符串 例程序#include ctype.h#include stdio.hvoid itoa (int n,char s[]); //atoi 函数将转换为整形数int main(void ){int n;char s[100];printf(Input n:\n);scanf(%d,n);printf(the string : \n);itoa (n,s); return 0; }void itoa (int n,char s[]){int i,j,sign;if((signn)0)//记录符号

相关新闻