• 把#define宏转换成指定格式


    之前在弄一个东西的,有一大堆的宏,需要把它转换成其它的形式。遇到这种大批量的东西,我特别没有耐心去一个一个的弄,于是写了一段代码。

    估计大家平常比较难用得上,不过可以平常相似的情况用来参考。

    SortedDictionary<int, string> enumMap = new SortedDictionary<int, string>();
    string fileName = "tmp.txt";
    File.WriteAllText(fileName, tbSource.Text, Encoding.Default);
    string[] items = File.ReadAllLines(fileName, Encoding.Default);
    Regex reg = new Regex(@"#defines+(S+)s+(d+)");
    foreach(string item in items)
    {
        Match match = reg.Match(item);
        string value = match.Groups[1].Value;
        int key = Convert.ToInt32(match.Groups[2].Value);
        if(enumMap.ContainsKey(key))
        {
            Debug.WriteLine(item);
            Debug.Assert(false);
        }
        else
        {
            enumMap.Add(key, value);
        }
    }
    string result = "";
    foreach(var item in enumMap)
    {
        result += string.Format("{0} = {1},
    ", item.Value, item.Key);
    }
    tbTarget.Text = result;
  • 相关阅读:
    属性与字段的区别
    修改LVDS支持1024*600分辨率
    Altium designer 10如何设置标题栏
    嵌入式C开发人员的最好的0x10道笔试题
    进程线程及堆栈关系的总结
    GDB调试
    c语言
    如何使用autotools生成Makefile
    ubuntu NFS
    Ubuntu安装配置TFTP服务
  • 原文地址:https://www.cnblogs.com/wzwyc/p/6811096.html
Copyright © 2020-2023  润新知