Obsolete Members for QByteArray

以下成员源于类 QByteArray 被弃用。 提供它们是为使旧源代码能继续工作。强烈建议不要在新代码中使用它们。

公共函数

(deprecated in 6.4) qsizetype count () const

相关非成员

(弃用) int qsnprintf (char * str , size_t n , const char * fmt , ...)
(弃用) 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 )

成员函数文档编制

[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.

使用 size () 或 length () 代替。

这是重载函数。

如同 size ().

相关非成员

[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> 代替。

可移植 snprintf() 函数,调用 qvsnprintf。

fmtprintf() format string. The result is put into str , which is a buffer of at least n 字节。

警告: 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.

另请参阅 qvsnprintf () 和 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> 代替。

可移植 vsnprintf() 函数。会调用 ::vsnprintf() , ::_vsnprintf() ,或 ::vsnprintf_s depending on the system, or fall back to an internal version.

fmtprintf() format string. The result is put into str , which is a buffer of at least n 字节。

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

警告: 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 () 代替。

另请参阅 qsnprintf () 和 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.

使用 _ba from Qt::StringLiterals namespace instead.

文字运算符创建的 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.

以下代码创建 QByteArray :

auto str = "hello"_qba;
					

该函数在 Qt 6.2 引入。

另请参阅 QByteArrayLiteral and QtLiterals::operator""_qs (const char16_t *str, size_t size).