1. 将整数转换为字符串:
- // 字符串处理函数.cpp : 定义控制台应用程序的入口点。
- //
- #include "stdafx.h"
- #include <iostream>
- using namespace std;
- //不使用库函数将整数转换为字符串
- void int2str(int value,char *string){
- if (string==NULL)//如果string为NULL,直接返回
- {
- return;
- }
- int i=0,len=0;
- int absolute=value>0?value:-value; //取value的绝对值
- char str[20]="";
- while (absolute) {//把absolute的每一位上的数存入str
- str[i++]=absolute%10+'0';
- absolute/=10;
- }
- len=i;
- if (value<0)//如果是负数,需要多出来一位存储负号‘-'
- {
- len+=1;
- for (int j=i-1;j>=0;j--)
- string[len-1-j]=str[j];
- string[0]='-';
- }
- else{ //如果是整数,直接拷贝
- for (int j=i-1;j>=0;j--)
- string[len-j-1]=str[j];
- }
- string[len]='\0';//末尾添加结束符
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- int nNum;
- char string[20];
- cout<<"Please input an integer:";
- cin>>nNum;
- cout<<"output:";
- int2str(nNum,string);
- cout<<string<<endl;
- system("pause");
- return 0;
- }
- // 字符串处理函数.cpp : 定义控制台应用程序的入口点。
- //
- #include "stdafx.h"
- #include <iostream>
- using namespace std;
- //不使用库函数将字符串转换为数字
- int str2int(const char *str){
- int num=0,dig=1;
- if (str==NULL)
- {
- return -1;
- }
- while (*str==' '){ //滤掉开头的空格
- str++;
- }
- if (*str=='+')
- {
- str++;
- }
- if (*str=='-')//如果开头有"-"使dig=-1
- {
- str++;
- dig*=-1;
- }
- while (*str!='\0')
- {
- num=num*10+(*str++-'0');
- if (*str<'0'||*str>'9')//如果遇到非数字则跳出循环
- {
- break;
- }
- }
- num*=dig;
- return num;
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- int num=0;
- char str[10]="";
- cin.getline(str,10);
- num=str2int(str);
- cout<<num<<"\n";
- system("pause");
- return 0;
- }