我已经涉足 C,目前我正在学习 C++。
我想学习标准库(std::命名空间),所以我正在做一些项目。一个是简单的电子邮件程序,它登录到我的本地 SMTP 服务器并显示我的电子邮件,并具有发送邮件的能力。我为那种古老的感觉添加了一点 ncurses。
问题是,我一直无法找到使用网络套接字的标准库方式。好像我不得不用C使用网络插座sys/socket.h,但后来我结束了一个文件描述符,它的叶子read()和write()和send()函数调用。我希望能够使用std::fstreamorstd::ostream类。但是open()成员函数采用文件名,而不是文件描述符。
我知道 Boost 库具有此功能,但模板等对我来说是遥不可及的,我现在只想坚持使用标准库。
我开始之前,我只是想确保没有一个更好的办法read(),并write()以一个已经被返回的文件描述符connect()网络套接字C函数。
我能够通过 epel 存储库安装 llvm 和 clang。但是,它们不包括 clang-tidy 二进制文件。我一直在搜索 llvm 网站,但他们没有任何可用于 CentOS 7 的软件包。 ius 存储库也没有 clang-tidy。我想在从源代码构建之前仔细检查。谢谢你。