我可以从 GDataOutputStream 获取或转换为底层 GOutputStream 吗?
Can I get or cast to the underlying GOutputStream from a GDataOutputStream?
我有一个 GDataOutputStream*
,现在我需要手动关闭基础 GOutputStream*
(通过调用 g_output_stream_close()
)。
直接将 GDataOutputStream*
转换为 GOutputStream*
安全吗?还是我需要通过其他方式获取底层流?
是的,这才是正确的做事方式:
g_autoptr(GError) local_error = NULL;
if (!g_output_stream_close (G_OUTPUT_STREAM (my_data_stream), NULL, &local_error))
{
/* handle the error, for example: */
g_warning ("Error closing stream: %s", local_error->message);
}
我有一个 GDataOutputStream*
,现在我需要手动关闭基础 GOutputStream*
(通过调用 g_output_stream_close()
)。
直接将 GDataOutputStream*
转换为 GOutputStream*
安全吗?还是我需要通过其他方式获取底层流?
是的,这才是正确的做事方式:
g_autoptr(GError) local_error = NULL;
if (!g_output_stream_close (G_OUTPUT_STREAM (my_data_stream), NULL, &local_error))
{
/* handle the error, for example: */
g_warning ("Error closing stream: %s", local_error->message);
}