本文目錄一覽:
- 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;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/159244.html