當前位置:首頁 » 編程語言 » c語言字元轉為字元串

c語言字元轉為字元串

發布時間: 2023-05-14 18:11:21

c語言變成字元串

有strstr()就可以了

#include<stdio.h>
#include<string.h>

voidcount(charstr[][100],intn,charcmpstr[100])
{
for(inti=0;i<n;++i)
{
if(strstr(str[i],cmpstr)!=NULL)
printf("%d:%s ",i,str[i]);
}
}

intmain()
{
charstr[][100]={"321312","Iamaman","youareaman","qwertyyouyuiuff"};
charcmpstr[100]="you";
intn=sizeof(str)/100;
count(str,n,cmpstr);
return0;
}

Ⅱ c語言char型字元串轉換成int型字元串

1、把char型轉換成int類型。

for(int i=0;i&lt;str.length();i++)

{

char temp_char=str.charAt(i);

//把字元轉換成數字方法一

int temp_int=temp_char-'0';

//把字元轉換成數字方法二

int temp_int=Integer.parseInt(String.valueOf(temp_char));

}

第一種辦法:通過charAt(i),把字元串的每位變成char型,然後用當前字元減去字元0(temp_char-'0'),得到當前字元的int值。

第二種辦法:把字元再轉成字元串,然後再強制轉換成int型。

2、把字元串拆分成一位一位的

第一種方法:循環後charAt(i);

注意:charAt(i)得到的是字元串對應的每位字元,可是不能直接轉成int,轉成int依然是ASCII值。

第二種方法:char[]temp=str.toCharArray();

注意:char[]里的內容不是字元串的每位字元,而是每位字元的ASCII值。

具體如下:

package cjl;

import java.util.Scanner;

/**

一維碼有一種編碼是ean13,是一串13位數字。其中第13位是校驗碼,作用是校驗前面12個數字是否正確。

校驗方法如下:

1、前12位數字從左起,將所有的奇穗逗數位相加得出一個數a,將所有的偶數位相加得出一個數b

2、將數b乘以3再與a相加得到數c

3、用10減去數c的個位數,如果結果不為10則校驗碼為結果本身,如果為10則校驗碼為0

請在控制台任意輸入一個12位數字,然後輸出校驗碼

author ff

/

public class CheckCode{

public void checkCode(String str)

{

int checkCode=0;

int a=0;//奇數位的和

int b=0;//偶數位的和

for(int i=0;i&lt;str.length();i++)

{

char temp_char=str.charAt(i);

//把字元轉換成數字方法一

int temp_int=temp_char-'0';

//把字元轉換成數字方法二

//int temp_int=Integer.parseInt(String.valueOf(temp_char));

//System.out.println("temp_char="+temp_char);

//System.out.println("temp__int="+temp_int);

if((i+1)%2==0)//偶數位

{

b+=(int)temp_int;

}

else//奇數位

{

a=a+(int)temp_int;

}

}

int c=a+b*3;

int c_gw=c%10;

int d=10-c_gw;

//System.out.println("a="+a+"b="+b+"c="+c+"c_gw="+c_gw+"d="+d);

if(d==10)

{

checkCode=0;

}

else

{

checkCode=d;

}

System.out.println("checkCode="+checkCode);

}

public void Input()

{

while(true){

Scanner scanner=new Scanner(System.in);

System.out.println("請輸入一個12位的數字。。。。。。");

String str=scanner.nextLine();

if((str.length()==12)&&(str.matches("[0-9]+")))

{

checkCode(str);

break;

}

}

}

/**

param args

/

public static void main(String[]args){

CheckCode codeVo=new CheckCode();

codeVo.Input();

}

}

運行結果:

請輸入一個12位的數字。。。。。。

111111111111

checkCode=6

(2)c語言字元轉為字元串擴展閱讀:

char是計棚族渣算機編程語言(c、c++、java、VFP等)鏈悄中可容納單個字元的一種基本數據類型。

char是一個數據類型,作用是定義字元型變數(單個或是字元串)。

比方int是整形數據,int a=3;這里int是類型,a是整型變數,3是賦值;

char s='A';char是字元類型,s是字元型變數,A是賦值給變數s;

char s[]="c program";char是字元類型,s[]是字元型數組,"c program"是賦給數組的值。

Ⅲ 文字在c語言中怎麼轉化為字元串

#include<stdio.h>
intmain()
{
charhi[]="Hello";
printf("%s",hi);

return0;
}


以上是最簡單的用char儲存字元串的方式:

  1. 看第一行,「Hello」這個字元串有6個字母對吧,還有一個結尾『』的標記,一共7個位元組的長度;

  2. 因此,在初始化hi變數時,系統會為hi分配7個位元組的長度的連續內存,輪沒為什麼是連續內存,因為hi是char類的數舉核組,數組都是連續內存的!

  3. 然後hi的第一個位元組的內存放『H』,第二個位元組放『e』,第三個放『l』……第七個放結尾標記『』

  4. 你想問怎麼轉化對吧,這個是根據ASCII表格的規定存放的,這是美國規定的轉化定律。c語言的char每1個位元組,8bit,也就是8個二進制位。可以表示0 ~ 2的8次方

  5. 在這百個數中,每個數字都代表一個符號(字母),比如H是72.也就是說hi的第一個元素,char類型的內存里是這樣存72的:0 1 0 0 1 0 0 0

  6. 以上就是8bit二正桐掘進制,如果你用printf(「%d」,hi【0】);列印,你會發現,其實hi的第一個元素就是72這個數。

  7. 詳細ascii對照表請看附件圖

Ⅳ C語言中怎樣將一個字元數組裡面的所有元素變成一個字元串

首先要明確的是,「字元串」在C語言中的含義實際上就是一個char類型的指針或數組,且最後一位置為0標記字元串的結束。所以,你所說的」字元數組「我是否可以理解為一個沒有終結符0的char類型數組?


這樣的話,方法如下

#include<string.h>
intmain()//這里為了方便直接用main函數
{
chararray[]={'h','e','l','l','o'};
/*需要注意的是,這里沒有終結符,故需要知道數組的*/
/*大小(數組的大小是編譯時常量)*/
char*dest_str;//目標字元串

dest_str=(char*)malloc(sizeof(char)*(sizeof(array)+1));
/*為字元串分配堆空間*/

strncpy(dest_str,array,sizeof(array));
//用C標准庫函數strncpy拷貝字元

return0;
}


實際上在C中,指針和數組還是有一點微妙的區別的,具體可參考度娘

Ⅳ 在C語言中 怎麼講單個的一個字元轉換成字元串

void main()
{
char ch='a'鏈念;
char* str= new char[10];
strcpy(str, &ch);
str[1]='\激漏0';
cout<<str<棚鉛困<endl;
}

Ⅵ C語言字元數組轉換字元串

不可能做得完全一樣!char *s = "abc";這樣的定義意思是「創建一個常字元串abc,將首地址(就是a的地址)賦給char*型指針s」。可以設法讓數組a變成字元串,再讓一個s指針指向它,但目標卻不是常量,也不在常量區。可以用下面的代碼做個效果差不多的轉換。

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmain(void){
chara[3]={'a','b','c'},b[4];
constchar*s;
b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]='';
s=b;
printf("%s ",s);
return0;
}

Ⅶ C語言,如何將一個字元變為一個字元串如何將一個字元串變為一個字元比如,將'a'變為"a",將"a"變為'a'

字元串可以包含多個字元。

所以 單個字元轉為字元串,只需要定義一個字元串,並把第一個字元賦值成該值即可。

比如

chara='a';
chars[2];
s[0]=a;
s[1]=0;

字元串轉字元,只能保留第一個字元。

比如

charc;
chars[2]="a";
c=s[0];

Ⅷ 在c語言中怎麼把字元數組轉換為字元串

定義一個字元數組,直接賦值就行(把字元賦值給該數組元素,並給後一個元素賦值為'\0'就行)

Ⅸ 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<iostream>
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
cout<<strcat(k, p)<<endl; // 將合並後的結果輸出顯示,此時k中內容為{"sja"}
}

輸出結果為:
sja

熱點內容
烽火伺服器ip修改 發布:2025-07-17 08:14:43 瀏覽:979
c語言開機啟動 發布:2025-07-17 08:12:09 瀏覽:440
天津開票系統伺服器地址 發布:2025-07-17 08:11:01 瀏覽:696
大黃蜂BDftp 發布:2025-07-17 08:10:51 瀏覽:285
在QQ音樂上傳 發布:2025-07-17 08:06:03 瀏覽:155
資料庫關閉連接 發布:2025-07-17 08:05:10 瀏覽:189
航海王之熱血航線戰斗員索隆怎麼配置 發布:2025-07-17 07:58:16 瀏覽:969
西安的java培訓機構 發布:2025-07-17 07:54:48 瀏覽:786
魅族存儲盤 發布:2025-07-17 07:36:39 瀏覽:729
編譯和運行java的命令 發布:2025-07-17 07:32:54 瀏覽:609