将字符串数组转换成整形转换为字符串数组。。。

C++ 整型数组转换成字符串
C++ 整型数组转换成字符串
例如有一个整型数组a1[10],怎么把这个数组的10个元素连成字符串输出。注意:不是MFC,所以没有Cstring类,用的是char
再提供一个方法,用stringstream#include &iostream&#include &sstream&#include &string&template &class T, class U&T lexical_cast(U u){&&&&&& sstrm &&&&& T&&& sstrm &&&&&}int main(){&&& int a[] = {1,2,3,4,5,6,7,8,9,10};&&&&&& for(int i = 0; i & 10; ++i)&&&&&&& s += lexical_cast&string&(a[i]);&&& cout && s &&}
提问者 的感言:好 满意答案
#include&iostream&int main(){&int a[10]={1,2,3,5,7,8,9,5,3,0};&char str[256];&for (int i=0;i&10;i++)&{&&itoa(a[i],&str[i],10);&&&& //itoa函数&}&str[i]='\0';&cout&&str&&&return 0;}
#include&iostream&int main(){&int a[10]={1,2,3,5,7,8,9,5,3,0};&char str[256];&for (int i=0;i&10;i++)&{&&sprintf(&str[i],"%d",a[i]);&&&&&&&&&&&& //sprintf函数&}&str[i]='\0';&cout&&str&&&return 0;}
提问者 的感言:好
等待您来回答
编程领域专家2247人阅读
本文转载自:
Matlab中有15种基本数据类型,主要是整型、浮点、逻辑、字符、日期和时间、结构数组、单元格数组以及函数句柄等。
&&& 1、整型:(int8;uint8;int16;uint16;int32;uint32;int64;uint64)通过intmax(class)和intmin(class) 函数返回该类整型的最大值和最小值,例如intmax(‘int8’)=127;
&&&& 2、浮点:(single;double)
浮点数:REALMAX('double')和REALMAX('single')分别返回双精度浮点和单精度浮点的最大值,REALMIN('double')和REALMIN ('single')分别返回双精度浮点和单精度浮点的最小值。
3、逻辑:(logical)
Logical:下例是逻辑索引在矩阵操作中的应用,将5*5矩阵中大于0.5的元素设定为0:
&&&&&& A = rand(5);
&&&&&& A(A&0.5)=0;
4、字符:(char)
Matlab中的输入字符需使用单引号。字符串存储为字符数组,每个元素占用一个ASCII字符。如日期字符:DateString=’9/16/2001’ 实际上是一个1行9列向量。构成矩阵或向量的行字符串长度必须相同。可以使用char函数构建字符数组,使用strcat函数连接字符。
例如,命令 name = ['abc' ; 'abcd'] 将触发错误警告,因为两个字符串的长度不等,此时可以通过空字符凑齐如:name = ['abc ' ; 'abcd'],更简单的办法是使用char函数:char(‘abc’,’abcd’),Matlab自动填充空字符以使长度相等,因此字符串矩阵的列纬总是等于最长字符串的字符数.
例如size(char(‘abc’,’abcd’))返回结果[2,4],即字符串’abc’实际存在的是’abc ’,此时如需提取矩阵中的某一字符元素,需要使用deblank函数移除空格如name =char(‘abc’,’abcd’); deblank(name(1,:))。
此外,Matlab同时提供一种更灵活的单元格数组方法,使用函数cellstr可以将字符串数组转换为单元格数组:
data= char(‘abc’,’abcd’)
&&&&&& length(data(1,:))&-&? 4
&&&&&& cdata=cellstr(data)
&&&&&& length(cdata{1})&-&?3
常用的字符操作函数
blanks(n)&返回n个空字符
&&&&&& deblank(s)&移除字符串尾部包含的空字符
&&&&&& (string)&将字符串作为命令执行
&&&&&& findstr(s1,s2)&搜索字符串
&&&&&& ischar(s)&判断是否字符串
&&&&&&& isletter(s)&判断是否字母
&&&&&& lower(s)&转换小写
&&&&&& upper(s)&转换大写
&&&&&& strcmp(s1,s2)&比较字符串是否相同
&&&&&& strncmp(s1,s2,n)&比较字符串中的前n个字符是否相同
&&&&&& strrep(s1,s2,s3)&将s1中的字符s2替换为s3
5、日期和时间
Matlab提供三种日期格式:日期字符串如’’,日期序列数如00年1月1日为1)以及日期向量如
0 0 0,依次为年月日时分秒。
常用的日期操作函数
datestr(d,f)&将日期数字转换为字符串
&&&&&& datenum(str,f)&将字符串转换为日期数字
&&&&&& datevec(str)&日期字符串转换向量
&&&&&& weekday(d)&计算星期数
&&&&&& eomday(yr,mth)&计算指定月份最后一天
&&&&&& calendar(str)&返回日历矩阵
&&&&&&& clock&当前日期和时间的日期向量
&&&&&& date&当前日期字符串
&&&&&& now&当前日期和时间的序列数
结构是包含已命名“数据容器”或字段的数组。结构中的字段可以包含任何数据。
7、构建结构数组
(1)赋值方法
下面的赋值命令产生一个名为patient的结构数组,该数组包含三个字段:
patient.name = 'John Doe';
patient.billing = 127.00;
patient.test = [79 75 73; 180 178 177.5; 220 210 205];
在命令区内输入patient可以查看结构信息:
name: 'John Doe'
billing: 127
test: [3x3 double]
继续赋值可扩展该结构数组:
patient(2).name = 'Ann Lane';
patient(2).billing = 28.50;
patient(2).test = [68 70 68; 118 118 119; 172 170 169];
赋值后结构数组变为[1 2]。
(2)构建结构数组:struct函数&
函数基本形式为:strArray = struct('field1',val1,'field2',val2, ...)
weather(1) = struct('temp', 72,'rainfall', 0.0);
weather(2) = struct('temp', 71,'rainfall', 0.1);
&&&&&&& weather = repmat(struct('temp', 72, 'rainfall', 0.0), 1, 3);
&&&&&& weather = struct('temp', {68, 80, 72}, 'rainfall', {0.2, 0.4, 0.0});
(3)访问结构数据
以下都是合法的结构数组访问命令:
mypatients = patient(1:2)&获取子结构数据
mypatients(1)&访问结构数据
patient(2).name&访问结构数据中的特定字段
patient(3).test(2,2)&访问结构数据中的特定字段(该字段为数组)
bills = [patient.billing]&访问多个结构
tests = {patient(1:2).test}&提取结构数据转换成单元格数组
使用结构字段的动态名称
通过structName.(expression_r_r_r)可以赋予结构字段名称并访问数据。例如字段名为expression_r_r_r、结构名为structName,访问其中第7行1至25列数据可以使用命令:structName.(expression_r_r_r)(7,1:25)。
例如,存在一个学生每周成绩数据结构数组,其数据通过以下方式建立:
testscores.wang.week(1:25) = ...
&&&&&&& [95 89 76 82 79 92 94 92 89 81 75 93 ...
&&&&&&&& 85 84 83 86 85 90 82 82 84 79 96 88 98];
testscores.chen.week(1:25) = ...
&&&&&&&&&&&&&&&& [87 80 91 84 99 87 93 87 97 87 82 89 ...
&&&&&&&&&&&&&&&&&& 86 82 90 98 75 79 92 84 90 93 84 78 81];
即结构名为testscores,字段使用每个学生的名称命名,分别为wang和chen,每个学生下面包含名为week的成绩结构数组。
现计算给定结构名称、学生名称和起止周数的平均分数。
在命令窗口中输入 edit avgscore.m,输入以下代码后保存文件:
function avg = avgscore(struct,student, first, last)
&&&&&& avg = sum(struct.(student).week(first:last))/(last - first + 1);
在命名窗口中输入:avgscore(testscores, 'chen', 7, 22) 计算学生陈从第7周到第22周的平均分数。
(4)添加和删除结构字段
命令[struct](index).(field)可添加或修改字段。如patient(2).ssn = '000-00-0000' 在结构patient中添加一个名为ssn的字段。
删除字段使用rmfield函数,如patient2 = rmfield(patient, 'name') 删除name字段并产生新的结构。
8、单元格数组:(cell)
单元格数组提供了不同类型数据的存储机制,可以储存任意类型和任意纬度的数组。
访问单元格数组的规则和其他数组相同,区别在于需要使用花括号{}访问,例如A{2,5}访问单元格数组A中的第2行第5列单元格。
(1)构建单元格数组:赋值方法
使用花括号标识可直接创建单元格数组,如:
A(1,1) = {[1 4 3; 0 5 8; 7 2 9]};
&&&&&& A(1,2) = {'abcd'};
&&&&&& A(2,1) = {3+7i};
&&&&&&& A(2,2) = {-pi:pi/10:pi};
上述命令创建2*2的单元格数组A。继续添加单元格元素直接使用赋值如A(2,3)={5}即可,注意需使用花括号标识。简化的方法是结合使用花括号(单元格数组)和方括号()创建,如C = {[1 2], [3 4]; [5 6], [7 8]};
(2)构建单元格数组:函数方法
Cell函数。如:
B = cell(2, 3);
B(1,3) = {1:3};
(3)访问数据
通过索引可直接访问单元格数组中的数据元素,例如:
N{1,1} = [1 2; 4 5];
N{1,2} = 'Name';
N{2,1} = 2-4i;
N{2,2} = 7;
c = N{1,2}
d = N{1,1}(2,2)
9、函数句柄
函数句柄是用于间接调用一个函数的Matlab值或数据类型。在调用其它函数时可以传递函数句柄,也可在数据结构中保存函数句柄备用。通过命令形式 fhandle = @functionname 可以创建函数句柄,例如&,或匿名函数sqr = @(x) x.^2;。
使用句柄调用函数的形式是 fhandle(arg1, arg2, ..., argn) 或 fhandle()(无参数)。如:
trigFun(1)。例:
function x = plotFHandle(fhandle, data)
plot(data, fhandle(data))
plotFHandle(@sin, -pi:0.01:pi)
数据类型转换如C语言中的强制类型转换相似e.g.:
z=double(y);
&& Matlab中的图像数据类型转换
MATLAB中读入图像的数据类型是uint8,而在矩阵中使用的数据类型是double因此&I2=im2double(I1) :把图像数组I1转换成double精度类型;如果不转换,在对uint8进行加减时会产生溢出,可能提示的错误为:Function '*' is not defined for values of class 'uint8'。
&& 图像数据类型转换函数
默认情况下,matlab将图像中的数据存储为double型,即64位浮点数;matlab还支持无符号整型(uint8和uint16);uint型的优势在于节省空间,涉及运算时要转换成double型。
&&& im2double():将图像数组转换成double精度类型
&&&& im2uint8():将图像数组转换成unit8类型&
&&&& im2uint16():将图像数组转换成unit16类型
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:121703次
积分:1706
积分:1706
排名:第9356名
原创:41篇
转载:88篇
评论:30条
(2)(3)(4)(6)(23)(10)(5)(2)(2)(15)(18)(24)(3)(2)(1)(2)(1)(4)(1)(1)声明:现大部分文章为寻找问题时在网上相互转载,在此博客中做个记录,方便自己也方便有类似问题的朋友,故原出处已不好查到,如有侵权,请发邮件表明文章和原出处地址,我一定在文章中注明。谢谢。
随笔- 310&
&&&&&&&&&&&
环境:dev-c++
#include &iostream&#include &cstdlib&main(){&&&& int i1=123,i2,i3;&&&& float f1;&&&& char c1[20]="234.45",c2[20];&&&& string s1="456",s2;&&&& &i2=atoi(c1);&&&&& //将字符数组转化为整数&&&& f1=atof(c1);&&&&& //将字符数组转化为浮点型&&&& itoa(i1,c2,10);&& //将整型转化为字符数组& 10为10进制的意思 &&&& cout&&"字符数组转化为整型: "&&i2&&&&&& cout&&"字符数组转化为浮点型: "&&f1&&&&&& cout&&"整型转化为字符数组: "&&c2&&&&&& strncpy(c2,s1.c_str(),s1.length());//字符串转化为字符数组 &&&& i3=atoi(c2);&&&& cout&&"字符串转化为整型: "&&i3&& &&&& system("pause");}截图:
阅读(...) 评论()
声明:现大部分文章为寻找问题时在网上相互转载,在此博客中做个记录,方便自己也方便有类似问题的朋友,故原出处已不好查到,如有侵权,请发邮件表明文章和原出处地址,我一定在文章中注明。谢谢。页面导航:
→ 正文内容 数组和字符串互相转换
PHP 数组和字符串互相转换实现方法
PHP 中由于数组和字符串这两种变量类型是如此常用,以至于 PHP 具有两个函数,可以在字符串和数组之间互相进行转换
代码如下:$array=explode(separator,$string); $string=implode(glue,$array);使用和理解这两个函数的关键之处是分隔符(separator)和胶合符(glue)关系。当把一个数组转换成一个字符串时,将会设置胶合符――将被插入到生成字符串中的数组值之间的字符或代码。相反,当把字符串转换成数组时,要指定分隔符,它用于标记什么应该变成独立数组元素。例如,以字符串开始:
  $s1='Mon-Tue-Wed-Thu-Fri';  $days_array=explode('-',$s1);  $days_array 变量现在是一个有5个元素的数组,其元素 Mon 的索引为0,Tue 的索引为1,等等。  $s2=implode(',',$days_array);  $s2 变量现在是一个用逗号分隔的一个星期中各天的列表:Mon,Tue,Wed,Thu,Fri例子 1. explode() 示例
代码如下: &?php // 示例 1 $pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; $pieces = explode(" ", $pizza); echo $pieces[0]; // piece1 echo $pieces[1]; // piece2 // 示例 2 $data = "foo:*:::/home/foo:/bin/sh"; list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data); echo $ // foo echo $ // * ?&
例子 2. limit 参数示例
代码如下: &?php $str = 'one|two|three|four'; // 正数的 limit print_r(explode('|', $str, 2)); // 负数的 limit print_r(explode('|', $str, -1)); ?&
以上示例将输出: Array ( [0] =& one [1] =& two|three|four ) Array ( [0] =& one [1] =& two [2] =& three ) 注: 本函数可安全用于二进制对象。
您可能感兴趣的文章:
上一篇:下一篇:
最 近 更 新
热 点 排 行}

我要回帖

更多关于 整形转换为字符串 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信