使用D语言读取文件中的字符

reading characters in a file using D language

我遇到了无法解决的错误问题。我的程序的目的是计算文件中的字符 "test" 但我一直收到此错误 "function core.stdc.stdio.getc (shared(_IO_FILE)* stream) is not callable using argument types (File)"

这是我的代码:

import std.stdio;
import std.file;
import std.string;
import core.stdc.stdio;




void main()
{

    char ch;
    int charCount;



    File file = File("test.txt","w");

    file=File("test,txt","r");

    while(!file.eof())
    {

        ch = getc(file);
        charCount++;

    }



    file.close();




}

std.stdio.File 不是 C 文件句柄,但您使用的是 C 库中的 getc,它需要一个。

最简单的方法是使用 readText from std.file,它一次读取整个文件:

int count = "test.txt".readText.length;

因为它 returns 一个字符数组,你可以只取该数组的长度来计算你的计数。