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

时间:2016-11-04 15:52:09

标签: file io char d counting

我遇到了一个我无法弄清楚错误的问题。我的程序的目的是计算文件“test”中的字符但我一直得到这个错误“函数core.stdc.stdio.getc(shared(_IO_FILE)* stream)不能使用参数类型(文件)调用”

这是我的代码:

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();




}

1 个答案:

答案 0 :(得分:1)

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

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

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

由于它返回一个字符数组,你可以只取这个数组的长度来计算。