it编程 > 编程语言 > C/C++

C++轻松实现字符串与字符数组的相互转换

61人参与 2025-03-19 C/C++

引言

本文重点介绍在 c++ 中将字符串转换为 char 数组和将 char 数组转换为字符串的不同方法。

一、将字符串转换为 char 数组

c++ 提供了以下将字符串转换为 char 数组的技术:

1.1、c++ 中的 c_str()和 strcpy()函数

c++ 函数c_str()以及 c++ 字符串函数strcpy()可用于轻松地将字符串转换为字符数组。

c_str()方法表示字符串数组中的字符序列,后跟一个空字符 '\0'。它返回指向字符串的 null 指针。

语法:

string-name.c_str();

示例:

#include <bits/stdc++.h> 
using namespace std; 

int main() 
{ 
	 
	string str = "";
	cout<<"enter the string:\n";
	
	cin>>str;

	char arr[str.length() + 1]; 

	strcpy(arr, str.c_str()); 
    cout<<"string to char array conversion:\n";
	for (int i = 0; i < str.length(); i++) 
		cout << arr[i]; 

	return 0; 
}

1.2、使用 for 循环中的字符串到字符数组的转换

为了将 char 数组转换为字符串,可以使用 c++ for 循环。

示例:

#include <bits/stdc++.h> 
using namespace std; 

int main() 
{ 
	 
	string str = "";
	cout<<"enter the string:\n";
	
	cin>>str;

	char arr[str.length() + 1]; 
    cout<<"string to char array conversion:\n";
    for (int x = 0; x < sizeof(arr); x++) { 
        arr[x] = str[x]; 
        cout << arr[x]; 
    } 

	return 0; 
}

二、将 char 数组转换为字符串

用于在 c++ 中将 char 数组转换为字符串的技术:

2.1、c++ 运算符 ‘+’

c++提供了将数据项连接或添加到变量的功能:'+' operator

示例:

#include <bits/stdc++.h> 
using namespace std; 


int main() 
{ 
	char arr[] = { 'l', 'i', 'o', 'n', 'l', 'o', 'n', 'g'}; 
	
	int size_arr = sizeof(arr) / sizeof(char); 
	string str = ""; 
	for (int x = 0; x < size_arr; x++) { 
		str = str + arr[x]; 
	} 
	cout<<"converted char array to string:\n";
	cout << str << endl; 
	return 0; 
}

输出:

converted char array to string:
lionlong

2.2、c++ 重载 ‘=’ 运算符

c++具有重载的概念,它使操作员执行基本或默认操作以外的其他操作。

示例:

#include <bits/stdc++.h> 
using namespace std; 


int main() 
{ 
	char arr[] = { 'l', 'i', 'o', 'n', 'l', 'o', 'n', 'g'}; 
	
	int size_arr = sizeof(arr) / sizeof(char); 
	string str = ""; 
	str = arr;
	cout<<"converted char array to string:\n";
	cout << str << endl; 
	return 0; 
}

输出:

converted char array to string:
lionlong

2.3、c++ 字符串内置构造函数

在将 char 数组转换为字符串的上下文中,可以使用 c++ 字符串构造函数。

语法:

string string-name(char array-name);

此构造函数采用以 null 字符结尾的字符序列作为输入参数。

注意:这只能在整个程序中声明字符串时使用。

示例:

#include <bits/stdc++.h> 
using namespace std; 

int main() 
{ 
	char arr[] = { 'l', 'i', 'o', 'n', 'l', 'o', 'n', 'g'}; 
	int size_arr = sizeof(arr) / sizeof(char); 
	string str(arr);
	cout<<"converted char array to string:\n";
	cout <<str<< endl; 
	return 0; 
}

输出:

converted char array to string:
lionlong

三、总结

在本文中了解了在 c++ 中将字符串转换为 char 数组的各种技术,反之亦然。

到此这篇关于c++轻松实现字符串与字符数组的相互转换的文章就介绍到这了,更多相关c++字符串与字符数组互转内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

您想发表意见!!点此发布评论

推荐阅读

Qt 中 isHidden 和 isVisible 的区别与使用小结

03-19

Visual C++ 6.0实现域名解析为IP的示例代码

03-19

C++实用库之DNS解析的实现

03-19

C++与Qt的内存管理机制详解

03-18

C++中的关键字volatile详解

03-18

C语言字符函数和字符串函数示例详解

03-17

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论