CharAt() in C++

When dealing with string manipulation, developers often deal with situations where accessing the characters in a string becomes imperative. Developers of Java language can perform this action effortlessly with the help of the charAt() function. The charAt() function in a Java programming language effectively finds a character in a string at a specified index and returns it.

The charAt() function is valuable and very useful for accessing and manipulating the characters in a string. But how can we perform the same function in C++? The string::at() function facilitates the same functionality in the C++ programming language. In this article, we will delve into the working of the string::at() function by providing simple and precise examples to help you understand the functionality of the string::at() function effectively.

Java String CharAt()

In Java, the charAt() method of the “String” class is a very commonly used and effective function. This method plays an important role in string manipulation by enabling an access to each character in a string based on their index positions. Understanding the syntax and functionality of charAt() is essential for efficient string handling in Java programs. The following is the syntax of Java’s charAt() function:


public char charAt(int index)

The charAt() function takes one parameter as an integer, an index, that indicates the position of the desired character. The return type of this function is char. Let us look at an example of the charAt() function to understand how it works quickly:

public class Main {

  public static void main(String[] args) {

  String Char_at = "Testing CharAt";

  char charone = Char_at.charAt(0);

  char chartwo = Char_at.charAt(5);

  char charthree = Char_at.charAt(8);

  System.out.println("Character at 0 index: " + charone);

  System.out.println("Character at 5 index: " + chartwo);

  System.out.println("Character at 8 index: " + charthree);



In this example, the “Testing CharAt” string is used and the charAt() function is implemented to get the characters at index 0, 5, and 8. The respective characters “T”, “n”, and “C” on the specified indexes are then printed to the console. See the following output snapshot:

As you can see in the output, the charAt() function retrieves the characters at index 0, 5, and 8 and are printed on the console. If we need to work in the C++ programming language, we use the “string::at” function. A similar function to charAt() in C++ is the “string::at” function which performs the same function.

C++ String::at() – Equivalent of the Java CharAt() Function

In the C++ programming language, the string::at() function is equivalent to Java’s charAt(). The syntax of string::at() function is as follows:

char& str.at(int index)

Similar to the charAt() method input and output, the str.at() function takes an integer parameter that represents the index of the character that needs to be located. The same 0-based index is followed by the str.at() function. The index is incremented by 1 for subsequent characters. The result of the str.at() function is of type char which means that it returns a char. To illustrate the usage of the str.at() function, consider the following example:

#include <iostream>

#include <string>

using namespace std;

int main() {

  string str = "Testing CharAt";

  char charone = str.at(0);

  char chartwo = str.at(5);

  char charthree = str.at(8);

    cout << "Character at 0 index: " <<charone << endl;

    cout << "Character at 5 index: " <<chartwo << endl;

    cout << "Character at 8 index: " <<charthree << endl;

  return 0;


In this example, we choose to implement the same code using the str.at() function in C++ which we implement using the charAt() function in Java. Again, a “Testing CharAt” string is created and the str.at() function is implemented to get the character at index 0, 5, and 8 which represent the first, fourth, and seventh characters, given C++’s 0-based indexing. The character is then stored in the charone, chartwo, and charthree variables and is printed to the console. Let us implement one more example that demonstrates the working of the str.at() function in more detail. Have a look at the following code:


using namespace std;

int main() {

  string strng = "str.at() tutorial";

  for(int i=0; i<strng.length(); i++) {

    cout<<"The Character in the String at index "<<i<<" is = "



  return 0;


In this example, we declare and initialize a string variable named “strng” with the “str.at() tutorial” value. Then, we use a “for” loop for iteration in the string through each character. Inside the loop, we display each string character with its index. The output of this program displays each character in the “str.at() tutorial” string along with its corresponding index. The strng.at(i) method is used to get the character at the specified index during each iteration of the loop.

The str.at() function can be used to get the index of the specific character in a string. The str.at() function returns the index of the first character that is matched in the string. To demonstrate this, we implement the following example. Have a look at the following code:

#include <iostream>

#include <string>

using namespace std;

int main () {

  string strng = "str.at() tutorial";

  for (int i = 0; i < strng.size(); i++) {

  if (strng.at(i) == 't') {

    cout << "The index of 't' is = " << i << endl;




  return 0;


This C++ code demonstrates a program that searches for the first occurrence of the “t” character in a given string and prints its index. A string variable with the “str.at() tutorial” value is declared and initialized. Using the “for” loop, we iterate in the string through each character to find the first occurrence of the “t” character.

The “if” condition is employed to compare each character in the string with the selected character to check whether it is “t”. When the first character matches in the string, the index of that character is printed to the console and the function exits the loop using “break”. This program gives the index of the first occurrence of the “t” character in the string. If “t” is not found in the string, the loop will complete without printing anything.

Comparing C++ String::at() with Java CharAt()

While both functions, charAt() in Java and str.at in C++, serve the same fundamental purpose, the str.at() function in C++ is much faster than the charAt() function in Java. It provides access to the characters by index and makes it an optimal choice for situations where performance becomes critical. The other noteworthy aspect of the str.at() function in C++ is its efficiency. Developers who are transitioning from Java to C++ or working on projects involving both C++ and Java can benefit from understanding these efficiency aspects.


In conclusion, understanding the C++ string manipulation involves familiarity with the string::at() function, the alternative to Java’s charAt(). The illustrated examples demonstrate the practical usage of both charAt() and str.at() functions, allowing the developers to access specific characters quickly and efficiently. The efficiency of the str.at() function in C++ further enhances its need, making it an important function for string manipulation tasks. Whether you are transitioning from the Java language to C++ language or about to make a complicated C++ project, a solid understanding of these functions is a must to efficiently and effectively handle the strings in your programs.

About the author

Kalsoom Bibi

Hello, I am a freelance writer and usually write for Linux and other technology related content