sscanf() equivalent for D using Phobos library?

Steven Schveighoffer schveiguy at yahoo.com
Thu Dec 4 16:06:53 PST 2008


"Spacen Jasset" wrote
> Jarrett Billingsley wrote:
>> On Wed, Dec 3, 2008 at 6:37 PM, rocknroll714 <rocknroll714 at gmail.com> 
>> wrote:
>>> Hi. I discovered D recently and I am very, very impressed. I've
>>> decided to switch from C/C++ over to D as my programming language of
>>> choice. Right now I'm porting one of my C++ applications to D, and I
>>> need some help with a simple conversion.
>>>
>>> How would I do this:
>>>
>>> if(sscanf(line, "%[^:]: %[^\r\n]", name, value) != 2) {...}
>>>
>>> In D? I'm looping through a text file using the File.getline() command
>>> and splitting each line into two separate variables with the sscanf
>>> command. The if conditional check is to make sure the line is
>>> formatted properly (the text file is the settings file for my
>>> application).
>>>
>>> Help please!
>>>
>>>
>>
>> import std.cstream;, and use din.readf.  readf is documented in 
>> std.stream.  :)
> This seems to work on a file, but can this be done on a char[] ?

might be talking out of my ass, since I'm a tango user, but I think readf is 
a function used by all streams?  So you just need to make that char[] into a 
stream, and then you get readf functionality, maybe.

-Steve 




More information about the Digitalmars-d-learn mailing list