- Qt 6.8
- Qt Core
- C++ Classes
- QByteArray
- Qt 6.8.3 Reference Documentation

# Obsolete Members for QByteArray

The following members of class QByteArray are deprecated. They are provided to keep old source code working. We strongly advise against using them in new code.

## Public Functions

`(deprecated in 6.4)` qsizetype | count() const

## Related Non-Members

`(deprecated)` int | qsnprintf(char *str, size_t n, const char *fmt, ...)
`(deprecated)` int | qvsnprintf(char *str, size_t n, const char *fmt, va_list ap)
`(since 6.2, deprecated in 6.8)` QByteArray | operator""_qba(const char *str, size_t size)

## Member Function Documentation

### `[noexcept, deprecated in 6.4]` qsizetype QByteArray::count() const

This function is deprecated since 6.4. We strongly advise against using it in new code.

Use size() or length() instead.

This is an overloaded function.

Same as size().

## Related Non-Members

### `[deprecated]` int qsnprintf(char *str, size_t n, const char *fmt, ...)

This function is deprecated. We strongly advise against using it in new code.

Use C++11's `std::snprintf()` from `<cstdio>` instead.

A portable snprintf() function, calls qvsnprintf.

fmt is the `printf()` format string. The result is put into str, which is a buffer of at least n bytes.

Warning: Call this function only when you know what you are doing since it shows different behavior on certain platforms. Use QString::asprintf() to format a string instead.

See also qvsnprintf() and QString::asprintf().

### `[deprecated]` int qvsnprintf(char *str, size_t n, const char *fmt, va_list ap)

This function is deprecated. We strongly advise against using it in new code.

Use C++11's `std::vsnprintf()` from `<cstdio>` instead.

A portable `vsnprintf()` function. Will call `::vsnprintf()`, `::_vsnprintf()`, or `::vsnprintf_s` depending on the system, or fall back to an internal version.

fmt is the `printf()` format string. The result is put into str, which is a buffer of at least n bytes.

The caller is responsible to call `va_end()` on ap.

Warning: Since vsnprintf() shows different behavior on certain platforms, you should not rely on the return value or on the fact that you will always get a 0 terminated string back. There are also differences in how `%a` (hex floats) and `%ls` (wide strings) are handled on WebAssembly and Android.

Ideally, you should never call this function but use QString::asprintf() instead.

See also qsnprintf() and QString::asprintf().

### `[noexcept, since 6.2, deprecated in 6.8]` QByteArray operator""_qba(const char *str, size_t size)

This function is deprecated since 6.8. We strongly advise against using it in new code.

Use `_ba` from Qt::StringLiterals namespace instead.

Literal operator that creates a QByteArray out of the first size characters in the char string literal str.

The QByteArray is created at compile time, and the generated string data is stored in the read-only segment of the compiled object file. Duplicate literals may share the same read-only memory. This functionality is interchangeable with QByteArrayLiteral, but saves typing when many string literals are present in the code.

The following code creates a QByteArray:

     auto str = "hello"_qba;

This function was introduced in Qt 6.2.

See also QByteArrayLiteral and QtLiterals::operator""_qs(const char16_t *str, size_t size).