C++C++11C++14C++17Introduction to C++Learn C++

The Right Way To Access Character Elements Of A Wide String

Modern C++ uses Wide Strings and Unicode Strings to support worldwide languages. Wide Strings (std::wstring) uses wchar_t as the character type which means they are 2-bytes chars and they are an instantiation of the basic_string class template. In C++, there are several type definitions for common character types and one of them is std:wstring types that are defined in header <string>.

wstrings are the string class for 2-bytes characters represented with wstring and alphanumeric characters are stored and displayed in wide string forms. In other terms, wstring stores for the alphanumeric text with 2-byte chars, called wchar_t. Wide Strings are the instantiation of the basic_string class template that uses wchar_t as the character type. In modern C++, simply we can define a wide string with L” ” literal as below,

The wstring has methods to append, assign, copy, align, replace or operate with other wide strings. These methods can be used in all string methods with their appropriate syntax. We can add characters with + or += operators ; we can use push_back() and insert() methods to add chars to a wide string. Let’s see how we add and remove characters from wide strings.

In this post, you’ll learn how to access a character in a wstring? How can I use the at()method of wide strings? Can I use front() and back() methods in std::wstring to access characters? By learning these methods, it will help you build C++ applications using C++ IDE.

How to Access to a Character of a Wide String in C++

Wide Strings are a class contains arrays of characters with useful methods, and we can access, or modify their characters easily. In Modern C++, while string contents are defined between L” and ” with L literal, characters are defined between L’ and ‘ with L literal. We can access to these wide characters with [ ] brackets; we can use at(), front() and back() methods to add chars to a string. Let’s see how we access and modify characters of strings.

Access to a Character of a Wide String with [ ] brackets

This example below shows how we can access to characters of a wide string by using [ ] brackets,

and the wide string outputs will be,

as you see in this example we print the first and second characters of the wide string.

Access to a Character of a Wide String with at() Method

We can access any character of a string by using at() method. This example below shows how we can access to characters of a string by using at() method,

and the wide string outputs will be,

as you see in this example we print the first and second characters of the wide string.

Access to a Character of a Wide String with front() and back() Methods

We can easily reach to the first and the last char of a wide string by using front() and back() methods. This example below shows how we can access to characters of a wide string by using front() and back() methods,

and the string outputs will be,

As you see we can easily reach to the first front and the last back char of a string. Sometimes it is important to check first or last char, if it is a number, if it is a question mark, etc.

Note that, these methods above can be used with std::string, std::u16string, std::u32string too.

close

Oh hi there 👋
It’s nice to meet you.

Sign up to receive awesome C++ content in your inbox, every day.

We don’t spam! Read our privacy policy for more info.

About author

Dr. Yilmaz Yoru has 33+ years of coding with more than 30+ programming languages, mostly C++ on Windows, Android, Mac-OS, iOS, Linux, and some other operating systems. He was born in 1974, Eskisehir-Turkey, started coding in college and graduated from the department of Mechanical Engineering of Eskisehir Osmangazi University in 1997. He worked as a research assistant at the same university for more than 10 years. He received his MSc and PhD degrees from the same department at the same university. Since 2012, he is the founder and CEO of Esenja LLC Company. He has married and he is a father of a son. Some of his interests are Programming, Thermodynamics, Fluid Mechanics, and Artificial Intelligence, 2D & 3D Designs, and high-end innovations.
Related posts
C++C++11C++14C++17Generic ProgrammingLearn C++Templates

What Is A Template In C++?

C++C++17Code SnippetComponentsIteratorsLearn C++

What Are The Boost C++ Libraries?

C++C++17Introduction to C++Learn C++Syntax

Learn Bits and How To Use std::bitset In C++

C++C++17IteratorsLearn C++

How To Use Insert In std::map In Modern C++