The Java String indexOf function is a method that returns the index of the first occurrence of a specified character or substring within a given string. It takes one or two arguments, the first being the character or substring to search for, and the second being an optional starting index from which to begin the search. If the character or substring is found, the method returns the index of its first occurrence within the string. If it is not found, the method returns -1. This function is useful for searching and manipulating strings in Java programs. Keep reading below to learn how to Java String indexOf in C++.

Looking to get a head start on your next software interview? Pickup a copy of the best book to prepare: Cracking The Coding Interview!

Buy Now On Amazon

Java String indexOf in C++ With Example Code

Java’s String class has a method called `indexOf` that returns the index of the first occurrence of a specified substring within the string. This method is very useful for searching for a specific character or sequence of characters within a string. However, if you are working with C++, you may be wondering how to achieve the same functionality.

Fortunately, C++ provides a similar method called `find`. This method is available for both `std::string` and `std::wstring` and works in a similar way to `indexOf`.

To use `find`, you simply call the method on a string object and pass in the substring you are searching for as an argument. The method will return the index of the first occurrence of the substring, or `std::string::npos` if the substring is not found.

Here is an example of how to use `find` in C++:


#include
#include

int main() {
std::string str = "Hello, world!";
std::size_t index = str.find("world");

if (index != std::string::npos) {
std::cout << "Substring found at index " << index << std::endl; } else { std::cout << "Substring not found" << std::endl; } return 0; }

In this example, we create a `std::string` object called `str` and call the `find` method on it, passing in the substring "world". The method returns the index of the first occurrence of "world" within `str`, which is then printed to the console.

If you need to search for a substring starting from a specific index within the string, you can pass in an additional argument to `find` specifying the starting index. For example:


std::string str = "Hello, world!";
std::size_t index = str.find("o", 5);

This will search for the first occurrence of the letter "o" in `str` starting from index 5 (i.e. the sixth character).

In summary, while C++ does not have a method called `indexOf` like Java's String class, the `find` method provides similar functionality and is available for both `std::string` and `std::wstring`.

Equivalent of Java String indexOf in C++

In conclusion, the equivalent function to Java's String indexOf in C++ is the find() function. Both functions serve the same purpose of searching for a specific substring within a larger string. However, there are some differences in their syntax and usage. While Java's indexOf function returns -1 if the substring is not found, C++'s find() function returns the string::npos constant. Additionally, the find() function can be used with other data types such as vectors and arrays. Overall, understanding the similarities and differences between these functions can help programmers efficiently search for substrings in their code, regardless of the language they are using.

Contact Us