fputs, stdout

rikki cattermole rikki at cattermole.co.nz
Tue Nov 7 04:46:37 UTC 2017


On 07/11/2017 4:34 AM, Tony wrote:
> There is a fputs/stdout in core.stdc.stdio.  std.stdio "public imports" 
> that:
> 
> "public import core.stdc.stdio;"
> 
> Wondering why:
> 
> import core.stdc.stdio : fputs;
> import core.stdc.stdio : stdout;
> 
> void main()
> {
>     fputs( cast(const char *)"hello world\n",stdout);
> }
> 
> compiles and runs, but if I change the imports to:
> 
> import std.stdio : fputs;
> import std.stdio : stdout;
> 
> I get this compile error:
> 
> fputs_test.d(11): Error: function core.stdc.stdio.fputs (scope 
> const(char*) s, shared(_IO_FILE)* stream) is not callable using argument 
> types (const(char*), File)

core.stdc.stdio : stdout 
https://github.com/dlang/druntime/blob/master/src/core/stdc/stdio.d#L710
std.stdio : stdout 
https://github.com/dlang/phobos/blob/master/std/stdio.d#L4662

Answer: not the same thing.


More information about the Digitalmars-d-learn mailing list