`
hqs7636
  • 浏览: 220904 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

std.cstream

阅读更多
链接没有维护

The std.cstream module bridges std.c.stdio (or std.stdio) and std.stream. Both std.c.stdio and std.stream are publicly imported by std.cstream.
std.cstream模块是std.c.stdio (或者std.stdio )和std.stream的桥接模块。 它们也是std.cstream的公共入口。


Authors:作者:
Ben Hinkle

License:许可:
Public Domain


class CFile: std.stream.Stream;
A Stream wrapper for a C file of type FILE*.
一个文件指针类型的 c 文件的流包装层

this(_iobuf* cfile, FileMode mode, bool seekable = false);
Create the stream wrapper for the given C file.
为特定的C文件创建流包装。

Params:参数:

FileMode mode:a bitwise combination of FileMode.In for a readable file and FileMode.Out for a writeable file.
按位组合的文件模式。FileMode.In 为可读文件模式;FileMode.Out 为可写文件模式。

bool seekable: indicates if the stream should be seekable.
指明这个流是否是可查找的

_iobuf* file();
void file(_iobuf* cfile);
Property to get or set the underlying file for this stream. Setting the file marks the stream as open.
为这个流get或set基础文件的属性。 设置文件将流标明为打开。


void flush();
void close();
bool eof();
char getc();
char ungetc(char c);
size_t readBlock(void* buffer, size_t size);
size_t writeBlock(const void* buffer, size_t size);
ulong seek(long offset, SeekPos rel);
void writeLine(const(char)[] s);
void writeLineW(const(wchar)[] s);
Overrides of the Stream methods to call the underlying FILE* C functions.


CFile din;
CFile wrapper of std.c.stdio.stdin (not seekable).
std.c.stdio.stdin 是CFile的包装。(不可搜索 /?)


CFile dout;
CFile wrapper of std.c.stdio.stdout (not seekable).
std.c.stdio.stdout 是CFile的包装。(不可搜索)


CFile derr;
CFile wrapper of std.c.stdio.stderr (not seekable).
std.c.stdio.stderr是CFile的包装。(不可搜索)




分享到:
评论
3 楼 hqs7636 2008-05-05  
受教了,谢谢oldrev兄,请多指教,期望未来能把它写进源码里让ide使用。
2 楼 oldrev 2008-05-05  
几个比较显眼的问题:

第1段:"imported"应按 D 的术语译为“被导入”

A Stream wrapper for a C file of type FILE*.
一个文件指针类型的 c 文件的流包装层
> FILE* 不能翻译,应为:C语言 FILE* 类型文件的流包装
所有大写的C都应翻译为C语言


1 楼 oldrev 2008-05-05  
无疑冒犯,不过基本看起来就像是不懂技术的文科生翻译的。

相关推荐

    stringstream的应用

    stream.clear(); //reset stream before another conversion stream ; //insert bool value stream >> m; //extract to int cout ; //print 456 ``` 在上面的代码中,我们使用同一个 stringstream 对象实现了 string...

    C++标准库(第二版)英文版.pdf

    4.1 Namespace std . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.2 Header Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.3 Errorand ...

    C++ 16进制和字符串批量转换

    在C++中,我们可以使用`std::stringstream`和`std::hex`来实现字符串到16进制的转换,以及`std::stringstream`和`std::dec`来实现16进制到字符串的转换。 1. **字符串到16进制转换:** 在C++中,可以逐个字符处理...

    SystemVerilog Reference Manual 3.1a(中英文版)+最新SV IEEE 标准

    3.6 chandle data type ...........................................................................................................................11 3.7 String data type ..................................

    Google C++ International Standard.pdf

    Contents Contents ii List of Tables x List of Figures xiv 1 Scope 1 2 Normative references 2 3 Terms and definitions 3 4 General principles 7 4.1 Implementation compliance . ....4.2 Structure of this ...

    D语言的中文文档

    例如,D语言的std.conv模块提供了强大的类型转换功能,std.range则支持高效的数据处理,std.algorithm库包含了大量通用的算法实现。 总的来说,D语言的中文文档是学习和掌握这一强大编程工具的重要资源。通过深入...

    Linux多线程服务端编程:使用muduo C++网络库

    4.2C/C++ 系统库的线程安全性. . . . . . . . . . . . . . . . .. . . . . . . . 85 4.3Linux 上的线程标识. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . 89 4.4线程的创建与销毁的守则. . . . . . ....

    IEEE 802.1Qbv TSN

    - **定义**:基于IEEE 802.1Qcc标准的增强SRP(Stream Reservation Protocol)和性能改进,增加了用户网络接口(UNI),使远程集中式的网络配置成为可能。 - **作用**:通过增强SRP协议,可以实现对网络资源的更精细...

    基于socket的TCP协议下client端

    1. **初始化套接字**:使用`socket()`函数创建一个socket,参数包括协议家族(如PF_INET代表IPv4)、服务类型(如SOCK_STREAM代表TCP)和协议(通常为0,系统会自动选择默认的TCP协议)。 2. **地址结构体**:使用`...

    Visual.C.程序开发范例宝典 通过家算计名获取IP

    hints.ai_socktype = SOCK_STREAM; // TCP socket getaddrinfo(hostName, NULL, &hints, &res); if (res != NULL) { char ipStringBuffer[INET6_ADDRSTRLEN]; getnameinfo(res->ai_addr, res->ai_addrlen, ...

    jinzhizhuanhuan.rar_visual c

    在C++中,可以使用标准库函数如`std::bitset`、`std::stringstream`或自定义函数进行进制转换。例如,使用`std::stringstream`可以方便地在不同进制间转换: ```cpp #include #include int main() { int ...

    c_plus_plus_string_convet.rar_plus_wstring

    标题中的“c_plus_plus_string_convet.rar_plus_wstring”暗示了本话题将聚焦于C++中处理字符串的不同方式,特别是`std::string`与`std::wstring`之间的转换。`std::string`通常用于存储ASCII字符,而`std::wstring`...

    c++ md5 加密

    std::stringstream ss; for (int i = 0; i ; ++i) ss << std::hex << std::setw(2) << std::setfill('0') (int)hash[i]; return ss.str(); } ``` 4. **使用示例**: 使用上面定义的`md5sum`函数进行MD5加密...

    十六进制字符串和数值相互转换

    相反,将整数值转换为十六进制字符串则可以使用`std::stringstream`和`std::setfill`以及`std::setw`操纵符。`std::setfill`用于设置填充字符(通常是'0'),`std::setw`用于设定输出的宽度,确保输出的十六进制字符...

    vim+ctags+cscope配置文件V2.0.6

    自己的vim配置文件 1. .vimrc 2. plugins: TagList, SuperTab, OmniCppComplete, ... c89, GNU libc, C++(stl,stream), IEEE Std 1003.1-2008, glib-2.0 的tags文件 4. ftplugin for Pro*C/C++ 5. .c, .cpp, .pc 模板

    C/C++读写文件操作

    在C++中,文件操作基于IO流(Input/Output Stream)的概念。文件流是标准模板库(STL)的一部分,它提供了用于读写文件的类,如ifstream(输入文件流)和ofstream(输出文件流)。C语言则使用stdio.h头文件中的函数,...

    cPP-string--.rar_c string_doc_string stl

    C++的IO流库(I/O Stream)允许将`std::string`与输入/输出流进行交互,如`std::cin`和`std::cout`。 8. **内存管理** `std::string`自动管理其内部的字符数组,当需要时会动态扩展。这使得程序员无需担心内存...

    FD_log.rar_c++ unicode日志

    std::stringstream ss; struct tm* timeinfo = localtime(&currentTime()); ss << std::put_time(timeinfo, "%Y-%m-%d %H:%M:%S"); return ss.str(); } void FDLog::write(const char* msg) { logFile () ...

    Json解析VS2012X86Release

    bool parsingSuccessful = reader->parse(jsonString.c_str(), jsonString.c_str() + jsonString.size(), &root, &errors); if (!parsingSuccessful) { std::cerr << "Failed to parse JSON: " << errors << ...

Global site tag (gtag.js) - Google Analytics