C 言語 - 文字列と配列の間の変換


序文

日常業務では、印刷、処理、および使用に便利なデータを取得するために、いくつかのデータ形式を変換する必要がある場合があります。


1.弦の紹介

1.文字列コード形式

コード形式は次のとおりです。

char string1[20] = "1314520,love";
char string2[20] = {
    
    'l','o','v','e'};
char string3[20] = {
    
    "\0"};
char string4[ ] = {
    
    "i love you"};

2. 文字列定数の長さ

文字列の末尾は、文字列値の末尾を示す '\0' などの終了タグ文字で終了します。'\0' は 1 バイトを占めるため、次のようになります。

字符串数据的大小 = 字符串长度 + 1

比如·:char string[ ] = "love";    string字符串的长度= 5 = sizeof(string)

2.アレイの紹介

1. 配列コード形式

コード形式は次のとおりです。

char arry1[5];
char arry2[5] = {
    
    1,2,3,4,5};
char arry3[ ] = {
    
    1,2,3,4,5};

2. 配列定数長

数组的长度:

	1、数组的下标
	2、无数组下标的时候,看数据量

3. データ変換

1. 配列 -> 文字列

@方法 1: ライブラリ関数を使用して変換する

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

int main()
{
    
    
	int i;
	int arry[7] = {
    
    5,2,0,1,3,1,4};
	char str[5] = "\0";
	char str1[10] = "\0";
	
	for(i=0;i<7;i++)
	{
    
    
		sprintf(str,"%d",arry[i]);
		strcat(str1,str);
	}
	printf("%s\r\n",str1);
	
	return 0;
}

@方法 2: ASCII メソッドを使用して変換する

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

int main()
{
    
    
	int i;
	int arry[7] = {
    
    5,2,0,1,3,1,4};
	char str1[10] = "\0";
	
	for(i=0;i<7;i++)
	{
    
    
		str1[i] = arry[i] + '0';
	}
	str1[i] = '\0';   //不可省略 
	
	printf("%s\r\n",str1);
	
	return 0;
}

印刷結果:
ここに画像の説明を挿入

2. 文字列 -> 配列

ASCII方式で変換

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

int main()
{
    
    
	int i;
	int arry[10];
	char str1[ ] = "5201314";
	
	for(i=0; i<sizeof(str1)-1; i++)
	{
    
    
		arry[i] = str1[i] - '0';
		printf("arry[%d]=%d\r\n", i, arry[i]);
	}
	
	return 0;
}

印刷結果:
ここに画像の説明を挿入

4.まとめ

上に挙げた方法よりも確実に多くの方法があり、より単純な方法もあるかもしれません。

おすすめ

転載: blog.csdn.net/DADWAWFMA/article/details/126790269