C ++是否同时具有字节流类和字符流类?

时间:2019-05-18 00:42:27

标签: c++ io

Java具有字节流类(Stream及其子类)和字符流类(ReaderWriter及其子类)。

C ++是否同时具有字节流类和字符流类?

http://www.cs.sjsu.edu/~pearce/modules/lectures/oop/streams/streams.htm

  

标准C ++流库提供输入流,输出流和输入输出流类。这些都是面向字符的流。

意味着C ++仅具有字符流类,而没有字节流类?

谢谢。

1 个答案:

答案 0 :(得分:2)

请记住,在C ++中,表示字节的规范方式是char,它是整数类型。 1

C ++标准提供了Input/Output Library,它提供了基本的输入和输出流。这些基本流是模板,并且使用模板参数选择它们处理的“字符”类型。通常,它们用于char和“宽字符” wchar_t风味中。 Other character typeschar8_tchar32_t一样存在,但是它们的用法并不常见。

例如,可以使用basic_fstream对象完成C ++中的文件输入和输出,该对象将某些类型CharT作为模板参数。为了方便起见,我们有两个别名:fstreambasic_fstream<char>的简写,而wfstreambasic_fstream<wchar_t>的简写。在其他流(例如字符串流以及标准输入和输出流)中也可以看到这种模式。

乍一看,“宽字符” wchar_t似乎非常适合处理Unicode字符串。不要上当。 C ++中的Unicode支持为seriously lacking

1。诚然,现在有一个标准的std::byte,但是它的用法相当有限。它既不是整数类型也不是字符类型。

注意:请勿在同一程序中混用coutwcoutHere's why