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.

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.


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial

Free C++Builder Community Edition

About author

Dr. Yilmaz Yoru has 35+ years of coding with more than 30+ programming languages, mostly C++ on Windows, Android, Mac-OS, iOS, Linux, and some other operating systems. He graduated and received his MSc and PhD degrees from the Department of Mechanical Engineering of Eskisehir Osmangazi University. He is the founder and CEO of ESENJA LLC Company. His interests are Programming, Thermodynamics, Fluid Mechanics, Artificial Intelligence, 2D & 3D Designs, and high-end innovations.
Related posts
C++C++11C++14C++17C++20

What Is The Stack (std::stack) In Modern C++?

C++C++11C++14C++17C++20Learn C++

What Is The Queue (std::queue) In Modern C++?

C++C++11C++14C++17Learn C++SyntaxTemplates

What Are The Logical Operation Metafunctions In Modern C++?

C++C++14C++17C++20Learn C++

What Are The Deprecated C++14 Features In C++17?