📌  相关文章
📜  如何在C++中将单个字符转换为字符串?

📅  最后修改于: 2021-05-30 12:03:54             🧑  作者: Mango

如何将单个字符转换为字符串对象。
例子:

Input :  x = 'a'
Output : string s = "a"

Input :  x = 'b'
Output : string s = "b"

这个想法是使用具有构造函数的字符串类,该构造函数允许我们指定大小
字符串作为第一个参数,将要填充给定大小的字符作为第二个参数。

这称为类填充构造函数。

// Create a string of size n and fill
// the string with character x.
string s(size_t n, char x);

注意: size_t是unsigned long long的typedef,因此我们不应传递负参数。

CPP
// CPP program to get a string from single
// character.
#include
using namespace std;
 
string getString(char x)
{
    // string class has a constructor
    // that allows us to specify size of
    // string as first parameter and character
    // to be filled in given size as second
    // parameter.
    string s(1, x);
 
    return s;  
}
 
int main() {
  cout << getString('a');
  return 0;
}


C++
// CPP program to get a string from single
// character.
#include
using namespace std;
 
 
int main() {
  char ex = 'G';
  string str;
 
  // Using += operator (here we append character to end of string)
  str += ex;
  cout << str << endl;
 
  // using = operator (overwrites the string)
  str = "GeekForGeeks";
  str = ex;
  cout << str << endl;
}


C++
// CPP program to get a string from single
// character.
#include
using namespace std;
 
 
int main() {
  string str;
  str.append(1, 'G');
  cout << str << endl;
}


C++
// CPP program to get a string from single
// character.
#include
using namespace std;
 
 
int main() {
  string str = "GeekForGeeks";
  // assign method overwrites initial content
  str.assign(1, 'G');
  cout << str << endl;
}


C++
// CPP program to get a string from single
// character by stringstream.
#include
using namespace std;
 
int main() {
  stringstream stream;
 
  // adding our character to stream
  char ex = 'G';
  stream << ex;
 
  // retrieving back our input into string
  string str;
  stream >> str;
 
  cout << str << endl;
}


输出
a

但是,还有许多其他方法可以将字符转换为字符串。上述方法仅在初始化字符串实例时有效。

1-使用= / + =运算符

这是非常基本的方法,这些运算符被重载以分配或附加字符。

C++

// CPP program to get a string from single
// character.
#include
using namespace std;
 
 
int main() {
  char ex = 'G';
  string str;
 
  // Using += operator (here we append character to end of string)
  str += ex;
  cout << str << endl;
 
  // using = operator (overwrites the string)
  str = "GeekForGeeks";
  str = ex;
  cout << str << endl;
}
输出
G
G

2- std ::字符串:: append()

该方法与上面讨论的+ =运算符相似,但是它给了我们另一个优点。通过使用此方法,我们可以追加任意数量的字符。

// appends n copy of character x at end of string
string s(size_t n, char x);

C++

// CPP program to get a string from single
// character.
#include
using namespace std;
 
 
int main() {
  string str;
  str.append(1, 'G');
  cout << str << endl;
}
输出
G

3- std ::字符串:: assign()

该方法与上面讨论的=运算符相似,但是它给了我们另一个优点。通过使用此方法,我们可以追加任意数量的字符。

// assigns n copy of character x to the string
string s(size_t n, char x);

C++

// CPP program to get a string from single
// character.
#include
using namespace std;
 
 
int main() {
  string str = "GeekForGeeks";
  // assign method overwrites initial content
  str.assign(1, 'G');
  cout << str << endl;
}
输出
G

4- std :: stringstream

这种方法可能更罕见。我个人不喜欢这种方法,除非并且除非我广泛使用它。例如,如果程序有多次转换,例如从字符串到int,float等,则可以使用它。

C++

// CPP program to get a string from single
// character by stringstream.
#include
using namespace std;
 
int main() {
  stringstream stream;
 
  // adding our character to stream
  char ex = 'G';
  stream << ex;
 
  // retrieving back our input into string
  string str;
  stream >> str;
 
  cout << str << endl;
}
输出
G

这些是一些我们可以从字符串获取char的方法。但是,还有更多的方法,例如使用replace,insert方法,但这是不必要的,而且非常罕见。

要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”