[转载]C函数的实现(strcpy,atoi,atof,itoa,reverse)
在笔试面试中经常会遇到让你实现C语言中的一些函数比如strcpy,atoi等
1. atoi
把字符串s转换成数字
int Atoi( char *s )
{
int num = , i = ;
int sign = ; for( i=; isspace(s[i]); i++ ); sign = (s[i] == '-')? -:; if( s[i] == '+' || s[i] == '-' )
i++; for( ;isdigit(s[i]); i++ )
{
num = *num + (s[i]-'');
} return sign*num;
}
2. strcpy(char *src, char *dst)
把src复制到dst中
int Strcpy(char* src, char *dst)
{
// register char *tmp;
int i = ;
while( src[i]!= NULL )
{
dst[i] = src[i++];
}
}
3.itoa( int n, char *s )
把数字转化成字符串
void Reverse( char *s )
{
int size = ;
char tmp; while( s[size] != NULL )
size++;
size--; int i=;
while( i <= size>> )
{
tmp = s[i], s[i] = s[size-i], s[size-i] = tmp;
i++;
}
} void ItoA( int n, char *s )
{
int sign = ; if( n < )
{
sign = -;
n = -n;
} int i=;
do
{
s[i++] = n% + '';
} while((n/=) > ); if( sign == - )
s[i++] = '-';
s[i] = '\0';
Reverse( s );
}
4. atof( char * s )
把字符串转化成double类型
double AtoF( char *s )
{
int sign = ;
int i = ;
for( i=; isspace(s[i]); i++ ); sign = (s[i] == '-')? -:; if( s[i] == '+' || s[i] == '-' )
i++; double num = 0.0;
double pow = 1.0;
//整数
for( ;isdigit(s[i]); i++ )
num = num* + (s[i]-''); for( i++; isdigit(s[i]); i++ )
{
num = num* + (s[i]-'');
pow *= ;
} return sign * (num/pow);
}
转自http://blog.csdn.net/matrix_laboratory/article/details/12028431
[转载]C函数的实现(strcpy,atoi,atof,itoa,reverse)的更多相关文章
- C函数的实现(strcpy,atoi,atof,itoa,reverse)
在笔试面试中经常会遇到让你实现C语言中的一些函数比如strcpy,atoi等 1. atoi 把字符串s转换成数字 int Atoi( char *s ) { int num = 0, i = 0; ...
- atoi、itoa,strcpy,strcmp,memcpy等实现
原文:http://www.cnblogs.com/lpshou/archive/2012/06/05/2536799.html 1.memcpy.memmove.memset源码 link:http ...
- _itoa _itow _itot atoi atof atol
函数原型: char *_itoa( int value, char *string, int radix ); //ANSI wchar_t * _itow( int value, wchar_t ...
- c++实现atoi()和itoa()函数(字符串和整数转化)
(0) c++类型所占的字节和表示范围 c 语言里 类型转换那些事儿(补码 反码) 应届生面试准备之道 最值得学习阅读的10个C语言开源项目代码 一:起因 (1)字符串类型转化为整数型(Integer ...
- 面试:atoi() 与 itoa()函数的内部实现(转)
原 面试:atoi() 与 itoa()函数的内部实现 2013年04月19日 12:05:56 王世晖 阅读数:918 #include <stdio.h> #include < ...
- 实现字符串函数,strlen(),strcpy(),strcmp(),strcat()
实现字符串函数,strlen(),strcpy(),strcmp(),strcat() #include<stdio.h> #include<stdlib.h> int my_ ...
- atoi()和itoa()函数详解以及C语言实现
atoi()函数 atoi()原型: int atoi(const char *str ); 函数功能:把字符串转换成整型数. 参数str:要进行转换的字符串 返回值:每个函数返回 int 值,此值 ...
- c常用函数-atoi 和 itoa
atoi 和 itoa atoi的功能是把一个字符串转为整数 Action(){ int j; char *s=""; j = atoi(s); lr_output_message ...
- atoi 和 itoa的实现
atoi 和 itoa是面试笔试经常要考到的题目,下面两份代码是用C语言实现的atoi和itoa: 1, atoi 原型: int atoi(const char *nptr); 函数说明: 参数np ...
随机推荐
- URI URL URN 关系
我们一起来看下面这个虚构的例子.这是一个URI: http://bitpoetry.io/posts/hello.html#intro 我们开始分析 http:// 是定义如何访问资源的方式.另外 b ...
- vmware安装CentOS " Intel VT-x 处于禁用状态"
我刚用虚拟机vmware 11安装CentOS 7 ,出现错误“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题,如下图. Intel VT-x 即Virtualiza ...
- Leetcode 372.超级次方
超级次方 你的任务是计算 ab 对 1337 取模,a 是一个正整数,b 是一个非常大的正整数且会以数组形式给出. 示例 1: 输入: a = 2, b = [3] 输出: 8 示例 2: 输入: a ...
- SPOJ QTREE Query on a tree ——树链剖分 线段树
[题目分析] 垃圾vjudge又挂了. 树链剖分裸题. 垃圾spoj,交了好几次,基本没改动却过了. [代码](自带常数,是别人的2倍左右) #include <cstdio> #incl ...
- 刷题总结——弹飞绵羊(bzoj2002)
题目: Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置, ...
- 刷题总结——系列维护(ssoi)
题目: 题解: 题解如上图,至于计算大于s的数字的数量和小于s数字的和用权值线段树或者树状数组维护就行了···注意离散化 另外发现cout和puts比printf快好多····· 代码: #inclu ...
- 【gets getline的用法 char[]转化为str】poj 2418
http://poj.org/problem?id=2418 [注意] 1. 输入有空格,用 char str[maxn]; while(gets(str)){ str[]!='\0'; } 或 st ...
- 【HDOJ6227】Rabbits(贪心)
题意:有n个位置,每次可以选其中一个往另外其它两个位置的中间插(如果有空的话),问最多能插几次 3<=n<=500 1 ≤ ai ≤ 10000 思路:显然可以把所有的空都利用起来 但最左 ...
- 【2017YYHS WC】
因为本葳蕤分数太低去不了WC,只能同去WC的各位大爷一起训练一波,就称作是YYHS WC吧,其实就是WC难度的多校 day1:早上8:30考的试,下午1:00去吃中饭 T1:考场打得暴力结果矩阵乘法后 ...
- POJ 2411 状压dp
F - Mondriaan's Dream Time Limit:3000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I6 ...