#include<stdioh>
int main()
{
int i,a[200];
char s[200];
gets(s);
for(i=0;s[i];i++)
a[i]=s[i];
a[i]=0;
for(i=0;a[i];i++)
printf("%d ",a[i]);
printf("\n");
getch();
return 0;
}
如果是数字串,则有以下的转换:
#include<stdioh>
int main()
{
int i,a[200];
char s[200];
scanf("%s",&s);
for(i=0;s[i];i++)
a[i]=s[i]-'0';
a[i]=0;
for(i=0;a[i];i++)
printf("%d ",a[i]);
printf("\n");
getch();
return 0;
}
直接用简单的C++
#include <iostream>#include <string>
#include <vector>
using namespace std;
//把字符串s按照字符串c进行切分得到vector_v
vector<string> split(const string& s, const string& c){
vector<string> v;
int pos1=0,pos2;
while((pos2=sfind(c,pos1))!=-1){
vpush_back(ssubstr(pos1, pos2-pos1));
pos1 = pos2 + csize();
}
if(pos1 != slength())
vpush_back(ssubstr(pos1));
return v;
}
int main()
{
string input="张三$|男$|济南$|大专学历$|";
vector<string> myArray=split(input,"$|");
for(int i=0;i<myArraysize();i++){
cout<<myArray[i]<<endl;
}
}
/
张三
男
济南
大专学历
/
C语言程序:
#include <stdioh>#define MAX 100
void main()
{
char str = "Hello,world!";
char arr[MAX];
int i;
for(i=0; (str+i) != '\0'; i++)
(arr + i) = (str + i);
(arr + i) = '\0';
puts(arr);
}
#include <stdioh>
#include <stdlibh>
int main () {
int i;
char buffer[256];
printf ("Enter a number: ");
fgets (buffer, 256, stdin);
i = atoi (buffer);
printf ("The value entered is %d", i);
system("pause");
return 0;
}
其实你的需求很简单只要是用atoi函数就可以轻松的转换string到数组了,我用以上的一小段代码就可以解释明白你的疑惑。没看明白在问我吧!
执行结果:
Enter a number: 233cyuyan
The value entered is 233
函数说明如下:
头文件:#include <stdlibh>
atoi() 函数用来将字符串转换成整数(int),其原型为:
int atoi (const char str);
函数说明atoi() 函数会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
返回值返回转换后的整型数;如果 str 不能转换成 int 或者 str 为空字符串,那么将返回 0
char 是字符型
byte 是字节型(0 - 255)
在参与算术运算是char类型会自动转为整型;如字符A会转为对应ASCII码65
char是用来表示一个字符,而不是一个字,因为一个字要占用两个字节。而存储一个ANSI字符只需一个字节。注意,强调是ANSI字符,而不是Unicode字符。因为Unicode要占用两个字节。
byte类型是最自由的一种。它就占用一个字节,但没有定义这个字节拿来干什么。char定义为一个Unsigned Byte类型。也就是无符号的一个字节。它将一个字节的8位全占用了。可以表示的数据范围是0到255之间。
如果你确定处理的字符串是标准的ANSI字符串,那不必转换也可以直接一个字节一个字节地处理。如果要处理的字符串不定或是统一的Unicode字符串则要进行转换后进行处理。c语言中没有字符串类型的变量,用字符指针表示字符串,char p = “hello”
可以直接使用数组下表访问字符串中的字符,例如 p[0]='h',p[1]='e',但最后一个字符p[5]='\0';
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)