本文目录一览:
- 1、C语言将字符变成字符串的问题
- 2、文字在c语言中怎么转化为字符串
- 3、C语言,如何将一个字符变为一个字符串?如何将一个字符串变为一个字符?比如,将'a'变为"a",将"a"变为'a'
- 4、C语言问题:如何把一个字符转换成字符串(最好是字符数组)?
- 5、在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;
}