Как конвертировать char в string
How to Convert Char to String in C++ Language?
This article will help you to learn how to convert a character array to a string in C++.
Convert Char To String C++
There are many methods through which we can convert a character array to a string in C++ which are:
1) Convert Char to a string in C++ using for loop
Program Outline
1) Declare Character Array
2) Get the Array Size
3) Declare two variables, one string type and another int type
4) Now use For loop for following
5) Store value in string variable on every iteration
6) Display the string variable
Example:
2) Convert Char to a string in C++ using while loop
Program Outline
1) Declare character Array
2) Get the Array Size
3) Declare two variables, one string type and another int type with value 0
4) Use While Loop to check int variable less than array_size on every iteration
5) store value in string variable on every iteration
6) Display the string variable
3) Convert Char to a string using std::string constructor in C++
4) Convert Char to String using ‘=’ operator from the string class
Another method to convert char into a string is using the ‘=’ operator from string class.
5) Convert Char to String using C++ Custom Function
Program Outline
1) Create a custom function with two parameters
iii) The function will return the string
3) Code inside the primary function
i) Declare character Array
ii) Get the Array Size
iii) pass character array and array size to the custom function and custom function.
iv) print the string variable which stores the returned value of the custom function
6) Convert Char to String using std::stringstream
Another method to convert char to string is to use std::stringstream. Use this function to insert the input character into a buffer and then take the character from the buffer as a string using std::string
How to convert a char to a String?
12 Answers 12
As others have noted, string concatenation works as a shortcut as well:
But this compiles down to:
I’ve got of the following five six methods to do it.
On the other hand String.valueOf(char value) invokes the following package private constructor.
Source code from String.java in Java 8 source code
Below are various ways to convert to char c to String s (in decreasing order of speed and efficiency)
Use the Character.toString() method like so:
Use any of the following:
As you can see, the fastest one would be c + «» or «» + c ;
Try this: Character.toString(aChar) or just this: aChar + «»
Actually this toString method internally makes use of valueOf method from String class which makes use of char array:
So second way is to use this directly:
This valueOf method in String class makes use of char array:
So the third way is to make use of an anonymous array to wrap a single character and then passing it to String constructor:
The fourth way is to make use of concatenation:
This will actually make use of append method from StringBuilder class which is actually preferred when we are doing concatenation in a loop.
Convert Char to String in C
How do I convert a character to a string in C. I’m currently using c = fgetc(fp) which returns a character. But I need a string to be used in strcpy
9 Answers 9
To answer the question without reading too much else into it i would
You could use the second line in a loop with what ever other string operations you want to keep using char’s as strings.
Using fgetc(fp) only to be able to call strcpy(buffer,c); doesn’t seem right.
You could simply build this buffer on your own:
Note that this relies on the fact that you will read less than MAX_SIZE_OF_MY_BUFFER characters
This way you could avoid creating new variables for something that you already have in your hands, provided that you’ll only need that single-character string just once.
I use this to convert char to string (an example) :
A code like that should work:
This is an old question, but I’d say none of the answers really fits the OP’s question. All he wanted/needed to do is this:
The relevant aspect here is the fact, that the second argument of strcpy() doesn’t need to be a char array / c-string. In fact, none of the arguments is a char or char array at all. They are both char pointers:
dest : A non-const char pointer Its value has to be the memory address of an element of a writable char array (with at least one more element after that). src : A const char pointer Its value can be the address of a single char, or of an element in a char array. That array must contain the special character \0 within its remaining elements (starting with src ), to mark the end of the c-string that should be copied.
Как преобразовать char в строку?
ОТВЕТЫ
Ответ 1
Как отмечали другие, конкатенация строк также работает как ярлык:
Но это скомпилируется до:
Ответ 2
Хороший вопрос. У меня есть следующие five 6 методов для этого.
С другой стороны, String.valueOf(char value) вызывает следующий конструктор package private.
Исходный код из String.java в Java 8 исходный код
Ответ 3
Ниже приведены различные способы преобразования в char c в String s (в порядке убывания скорости и эффективности)
Ответ 4
Используйте любое из следующих действий:
Ответ 5
Используйте метод Character.toString() следующим образом
Ответ 6
Попробуйте следующее: Character.toString(aChar) или просто следующее: aChar + «»
Ответ 7
Как вы можете видеть, самым быстрым будет c + «» или «» + c ;
Ответ 8
Так что второй способ использовать это напрямую:
Этот метод valueOf в классе String использует массив char:
Таким образом, третий способ состоит в использовании анонимного массива для обертывания одного символа, а затем передачи его в конструктор String :
Четвертый способ заключается в использовании конкатенации:
Ответ 9
Вот несколько методов, в определенном порядке:
Ответ 10
Я пробовал предложения, но в конечном итоге реализовал его следующим образом
Ответ 11
Я преобразовываю Char Array в String
Преобразование из System. String в Char в Visual C++
В этой статье описано несколько способов преобразования с помощью управляемых расширений System::String* char* в Visual C++.
Оригинальная версия продукта: Visual C++
Исходный номер КБ: 311259
Аннотация
В этой статье рассмотрено несколько способов преобразования с помощью System::String* char* следующих способов:
Способ 1
PtrToStringChars дает указатель интерьера фактическому String объекту. Если этот указатель передается вызову неувядаемой функции, сначала необходимо прикрепить указатель, чтобы убедиться, что объект не перемещается во время асинхронного процесса сбора мусора:
Способ 2
StringToHGlobalAnsi копирует содержимое управляемого объекта в родной куче, а затем преобразует его в формат Американского института национальных стандартов String (ANSI) на лету. Этот метод выделяет необходимую родной памяти кучи:
В Visual C++ 2005 и Visual C++ 2008 необходимо добавить параметр компилятора поддержки во время работы общего языка (/clr:oldSyntax), чтобы успешно составить предыдущий пример кода. Чтобы добавить общий параметр компиляторов поддержки во время работы, выполните следующие действия:
Щелкните Project и нажмите кнопку Свойства ProjectName.
ProjectName — это местоодатель для имени проекта.
Расширь свойства конфигурации и нажмите кнопку General.
В правой области щелкните, чтобы выбрать службу поддержки общего языкового времени, старый синтаксис (/clr:oldSyntax) в параметрах проекта поддержки общего языкового времени.
Чтобы выполнить поиск абонентской группы для пользователя в поле Абонентская группа (телефонный контекст), нажмите кнопку Обзор.
Дополнительные сведения о параметрах компиляторов поддержки во время работы на общих языках см. на следующем веб-сайте Microsoft Developer Network msDN:
Эти действия применимы к всей статье.
Способ 3
Класс VC7 имеет конструктор, который принимает управляемый указатель строки и загружает CString CString содержимое:
Способ 4
Visual C++ 2008 представляет класс справки маршала и marshal_as класс marshal_context() помощника маршала.