D语言file模块的readText和write函数

readText函数

S readText(S = string, R)(auto ref R name)
if (isSomeString!S && (isSomeFiniteCharInputRange!R || is(StringTypeOf!R)));

readText函数用于读取并验证一个文本文件。其中S可以是任何字符类型的数组,R可以是表示文件名的字符串或字符范围。如果文件中字符的宽度或字节序与S元素类型的宽度或字节序不同,则验证将失败。函数返回读取的字符数组。

如果读取文件时出现错误,将抛出FileException异常;如果UTF解码出现错误,则会抛出std.utf.UTFException异常。

write函数

void write(R)(R name, const void[] buffer)
if ((isSomeFiniteCharInputRange!R || isSomeString!R) && !isConvertibleToString!R);

void write(R)(auto ref R name, const void[] buffer)
if (isConvertibleToString!R);

write函数用于将数据写入文件中。如果文件不存在,则会创建该文件。其中,name表示文件名,buffer是要写入文件的数据。函数不会进行任何转换,所以写入的数据要与文件的字符类型匹配。

如果写入文件时出现错误,将抛出FileException异常。

示例

import std.file;

void main()
{
    // 读取文本文件
    string content = readText("test.txt");
    writeln(content);

    // 写入二进制文件
    int[] data = [1, 2, 3, 4];
    write("test.bin", data);

    // 读取二进制文件
    auto bytes = read("test.bin");
    int[] ints = cast(int[]) bytes;
    writeln(ints);
}

以上示例中,我们首先使用readText函数读取了一个名为test.txt的文本文件,并将其内容打印出来。接着,我们使用write函数将一个int数组写入了一个名为test.bin的二进制文件中。最后,我们使用read函数读取该二进制文件,并将其转换成int数组进行打印

关于dlang语言的file模块以下内容请用好看的markdown翻译内容如下:S readTextS = string Rauto ref R nameif isSomeString!S && isSomeFiniteCharInputRange!R isStringTypeOf!R;Reads and validates using stdutfvalidate a text file S

原文地址: https://www.cveoy.top/t/topic/gSlM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录