not callable error

Nemanja Boric via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri Nov 4 12:13:42 PDT 2016


On Friday, 4 November 2016 at 14:37:04 UTC, bluphantom91 wrote:
> On Friday, 4 November 2016 at 02:59:49 UTC, Paul Backus wrote:
>> On Friday, 4 November 2016 at 02:28:17 UTC, bluphantom91 wrote:
>>> Hello,
>>>
>>> I am trying to finish up a group project but I am running 
>>> into a small problem. I keep getting an error about fgetc not 
>>> being callable. The purpose of my program is to count the 
>>> number of characters in a file. Any bit of help is 
>>> appreciated!
>>>
>>> Here's my code:
>>>
>>> import std.stdio;
>>> import std.file;
>>> import std.string;
>>>
>>
>> Since you're using the C library stdio functions, you should 
>> import core.stdc.stdio
>
> ok I added that in, but now its giving me this:
>
>  function core.stdc.stdio.getc (shared(_IO_FILE)* stream) is 
> not callable using argument types (File)
>
> Am I just using getc the wrong way?

You're mixing Phobos' `File` object and C's FILE stream. You're 
passing the `File` to getc which expects FILE. Also, if there's 
no specific reason, you should prefer the Phobos' file (which 
doesn't work with getc from C, as it would require obtaining the 
C stream from Phobos object, which would not be the best idea).


More information about the Digitalmars-d-learn mailing list