
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <multimap>
- C++ Library - <queue>
- C++ Library - <priority_queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- The C++ Advanced Library
- C++ Library - <any>
- C++ Library - <barrier>
- C++ Library - <bit>
- C++ Library - <chrono>
- C++ Library - <cinttypes>
- C++ Library - <clocale>
- C++ Library - <condition_variable>
- C++ Library - <coroutine>
- C++ Library - <cstdlib>
- C++ Library - <cstring>
- C++ Library - <cuchar>
- C++ Library - <charconv>
- C++ Library - <cfenv>
- C++ Library - <cmath>
- C++ Library - <ccomplex>
- C++ Library - <expected>
- C++ Library - <format>
- C++ Library - <future>
- C++ Library - <flat_set>
- C++ Library - <flat_map>
- C++ Library - <filesystem>
- C++ Library - <generator>
- C++ Library - <initializer_list>
- C++ Library - <latch>
- C++ Library - <memory_resource>
- C++ Library - <mutex>
- C++ Library - <mdspan>
- C++ Library - <optional>
- C++ Library - <print>
- C++ Library - <ratio>
- C++ Library - <scoped_allocator>
- C++ Library - <semaphore>
- C++ Library - <source_location>
- C++ Library - <span>
- C++ Library - <spanstream>
- C++ Library - <stacktrace>
- C++ Library - <stop_token>
- C++ Library - <syncstream>
- C++ Library - <system_error>
- C++ Library - <string_view>
- C++ Library - <stdatomic>
- C++ Library - <variant>
- C++ STL Library Cheat Sheet
- C++ STL - Cheat Sheet
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ streambuf::getloc() function
The std::streambuf::getloc() function is used to retrieve the current locale associated with a stream buffer. A locale includes various facets, such as number formatting, character classification and more affecting how data is processed by streams.
Syntax
Following is the syntax for std::tuple::.
locale getloc() const;
Parameters
It does not accepts any parameter.
Return Value
This function returns the locale object currently associated to the stream buffer.
Exceptions
If an exception is thrown, there are no changes in the stream buffer.
Data races
It accesses the stream buffer object.
Example 1
In the following example, we are going to consider the basic usage of the getloc() function.
#include <iostream> #include <sstream> #include <locale> int main() { std::stringstream a; std::locale b = a.rdbuf() -> getloc(); std::cout << "Default locale: " << b.name() << std::endl; return 0; }
Output
Output of the above code is as follows −
Default locale: C
Example 2
Consider the following example, where we are going to use the imbue() along with thw getloc() function.
#include <iostream> #include <sstream> #include <locale> int main() { std::stringstream a; std::locale b("en_US.UTF-8"); a.imbue(b); std::locale x = a.rdbuf() -> getloc(); std::cout << "Current locale: " << x.name() << std::endl; return 0; }
Output
Following is the output of the above code −
Current locale: en_US.UTF-8
Example 3
Let's look at the following example, where we are going to set the locale of the stringstream to fr_FR.UTF-8 and applying the getloc() function.
#include <iostream> #include <sstream> #include <locale> int main() { std::stringstream a; a.imbue(std::locale("fr_FR.UTF-8")); std::locale b = a.rdbuf() -> getloc(); std::cout << "Locale: " << b.name() << std::endl; a << 1123228.33; std::cout << "Formatted number: " << a.str() << std::endl; return 0; }
Output
If we run the above code it will generate the following output −
Locale: fr_FR.UTF-8 Formatted number: 1 123 228,33