On Sat, 2008-06-07 at 22:57 +0300, Dov Grobgeld wrote:
> Hello,
> 
> I've just played around with vala for the first time tonight, and I
> find it very intriguing! I've been previously using gob for most of my
> C coding, but I think that I will try to move to vala as much as
> possible, as soon as I feel comfortable enough with it.
> 
> In my efforts to of making sure that I can do simple constructs with
> the language I tried to read a file line by line. The problem is that
> fgets() is mapped quite shallowly as follows:
> 
>     public weak string gets (string s, int size);
> 
> Thus I need to make sure that s has the requested size before calling
> gets. This is what I eventually came up with:
> 
> using GLib;
> 
> int main(string[] args) {
>     if (args.length < 2) {
>         stderr.printf("Need name of file!\n");
>         return -1;
>     }
> 
>     var f = FileStream.open(args[1],"r");
>     int n = 1000;
>     string s = " ".ndup(n);
>     int line = 0;
> 
>     while(true) {
>         f.gets(s, n);
>         if (f.eof())
>             break;
>         stdout.printf("Line %d: %s", line++, s);
>     }
>     return 0;
> }
> 
> Is there a more elegant way than by using ndup(n)?
> 
> Thanks again!
> Dov

Take a look at Glib, which has Vala bindings.  There is support for
reading and writing files in there I believe.

http://library.gnome.org/devel/glib/2.16/



_______________________________________________
Vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to