本文目錄一覽:
- 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-tw/n/159244.html