C语言将数组转换成一个整型数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言将数组转换成一个整型数相关的知识,希望对你有一定的参考价值。
如有一u8 tmp_buf[25]; 我将字符串‘65535’存入tmp_buf[0],tmp_buf[1],tmp_buf[2],tmp_buf[3],tmp_buf[4]中,反过来我如何将tmp_buf里的数据转换成整数65535呢?
参考技术A 可以这样:int x=0,i;
for(i=0;i<5;i++)
x=x*10+tmp_buf[i]-'0';
printf("%d\n",x);追问
感谢,已经根据您的代码实现了,麻烦您再解决如下问题:如何将整数65432转换到u8 arr[]数组里面?
本回答被提问者和网友采纳C语言基础01
1. 用scanf清理缓冲区数据
scanf("%*[^\n]"); scanf("%*c");
2. 格式转换
将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数 char *ultoa(unsigned long value,char *string,int radix) 将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数 char *ltoa(long value,char *string,int radix) 将整数value转换成字串存入string,radix为转换所用基数. char *itoa(int value,char *string,int radix) 将字符串nptr转换成双精度数,并返回这个数,错误返回0 double atof(char *nptr) 将字符串nptr转换成整型数, 并返回这个数,错误返回0 int atoi(char *nptr) 将字符串nptr转换成长整型数,并返回这个数,错误返回0 long atol(char *nptr) 将字符串str转换成双精度数,并返回这个数, double strtod(char *str,char **endptr) 将字符串str转换成长整型数, 并返回这个数, long strtol(char *str,char **endptr,int base)
3.
fprintf()函数
int fprintf(FILE * stream, const char * format, ...);
函数说明:fprintf()会根据参数format 字符串来转换并格式化数据, 然后将结果输出到参数stream 指定的文件中, 直到出现字符串结束(‘\0‘)为止。
返回值:关于参数format 字符串的格式请参考printf(). 成功则返回实际输出的字符数, 失败则返回-1, 错误原因存于errno 中.
范例 #include <stdio.h> main() { int i = 150; int j = -100; double k = 3.14159; fprintf(stdout, "%d %f %x \n", j, k, i); fprintf(stdout, "%2d %*d\n", i, 2, i); }
执行:
-100 3.141590 96
150 150
fscanf()函数
int fscanf(FILE *stream, char *format,[argument...]);
功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。
int fscanf(文件指针,格式字符串,输入列表);
返回值:整型,数值等于[argument...]的个数
for example: FILE*fp; chara[10]; intb; doublec; fscanf(fp,"%s%d%lf",a,&b,&c)
4.
以上是关于C语言将数组转换成一个整型数的主要内容,如果未能解决你的问题,请参考以下文章