fscanf()等效于c#功能

时间:2012-04-12 16:10:18

标签: c# c++ scanf

我的代码是用c ++语言编写的。代码的一部分是:

fscanf(filename,"%ld%*[^\n]\n", x);

fscanf(filename,"%ld%*[^\n]\n", y);

fscanf(filename,"%lf%*[^\n]\n", z);

fscanf(filename,"%lf%*[^\n]\n", q);

fscanf(filename,"%lf%*[^\n]\n", w);

fscanf(filename,"%[^#]%*[^\n]\n", r);

据我所知,这是c ++中的一种拆分行为,通过给定文件中的数据种类? 如果有办法在c#中做同样的事情?或者可能有实现此类功能但使用其他代码和函数的方法?

2 个答案:

答案 0 :(得分:0)

我相信在.NET中没有相应的东西。

但是有人努力实现类似的东西。例如:http://www.blackbeltcoder.com/Articles/strings/a-sscanf-replacement-for-net

答案 1 :(得分:0)

你真的在数字和行尾之间有垃圾吗?如果没有,请在下面的代码中抛弃Join和TakeWhile子句:

        using(var reader = new StreamReader(filename))
        {
            var x = long.Parse(string.Join("", reader.ReadLine().TakeWhile(char.IsDigit)));
        }

对于模式,带有“^ \ d +”的Regex.Match也可能是合适的。

相关问题