您的位置:

c语言将单个字符转化为字符串,c语言 字符串转单个字符

本文目录一览:

C语言将字符变成字符串的问题

看你的代码的意思是先把第一个冒号前面的字符串去掉,然后再分割标示符

给你个短的版本,如下

#include stdio.h

#include string.h

#include ctype.h

int main(void)

{

char s[100] = "iios:12DDWDFF-ad_ff=2131_85+ASDF";

char *p = strchr(s, ':')+1;

printf("[%s]\n", p);

char *q = p;

while (*p) {

if (!isdigit(*p) !isalpha(*p) *p!='_') {

*p = 0; // 添加字符串结尾保证q的结尾正确

printf("%s\n", q); // 这个q就是你要的字符串,如果你想保存成数组的话就开个数组把q存进去

q = p+1; // 指向下一个串

}

p++;

}

printf("%s\n", q); // 这里还有最后一个别忘了。

return 0;

}

文字在c语言中怎么转化为字符串

#include stdio.h

int main()

{

    char hi[] = "Hello";

    printf("%s",hi);

    return 0;

}

以上是最简单的用char储存字符串的方式:

看第一行,“Hello”这个字符串有6个字母对吧,还有一个结尾‘\0’的标记,一共7个字节的长度;

因此,在初始化hi变量时,系统会为hi分配7个字节的长度的连续内存,为什么是连续内存,因为hi是char类的数组,数组都是连续内存的!

然后hi的第一个字节的内存放‘H’,第二个字节放‘e’,第三个放‘l’……第七个放结尾标记‘\0’

你想问怎么转化对吧,这个是根据ASCII表格的规定存放的,这是美国规定的转化定律。c语言的char每1个字节,8bit,也就是8个二进制位。可以表示0 ~ 2的8次方

在这百个数中,每个数字都代表一个符号(字母),比如H是72.也就是说hi的第一个元素,char类型的内存里是这样存72的:0 1 0 0 1 0 0 0

以上就是8bit二进制,如果你用printf(“%d”,hi【0】);打印,你会发现,其实hi的第一个元素就是72这个数。

详细ascii对照表请看附件图

C语言,如何将一个字符变为一个字符串?如何将一个字符串变为一个字符?比如,将'a'变为"a",将"a"变为'a'

字符串可以包含多个字符。

所以 单个字符转为字符串,只需要定义一个字符串,并把第一个字符赋值成该值即可。

比如

char a='a';

char s[2];

s[0]=a;

s[1]=0;

字符串转字符,只能保留第一个字符。 

比如

char c;

char s[2] = "a";

c=s[0];

C语言问题:如何把一个字符转换成字符串(最好是字符数组)?

楼上的两位写法有点冗余,也没有注释。

给你一个简洁的并带上解释,相信会对你理解有帮助。

#includeiostream

using namespace std;

void main()

{

char ch1='a'; /*是字符*/

char k[5]={"sj"}; /*字符数组*/

char p[2]={ch1}; // 将单个字符转换为字符串数组,注意长度应为2

// 因为语言实现会在字符串尾部自动加上字符串结束符'0/'

// 但有效字符串长度仍然为1, 即strlen(p)的结果为1

// 但使用sizeof(p)则是求p的内存大小(字节),则应为2

coutstrcat(k, p)endl; // 将合并后的结果输出显示,此时k中内容为{"sja"}

}

输出结果为:

sja

在C语言中 怎么讲单个的一个字符转换成字符串

void main()

{

char ch='a';

char* str= new char[10];

strcpy(str, ch);

str[1]='\0';

coutstrendl;

}