c语言解析varchar,c语言解析html

本文目录一览:

c语言如何解析xml并将所有内容存入数组

/* 前段时间恰好做过类似的东西,代码可以给你参考下。

 *  Xml配置见最后

 */

typedef struct SrcFileFmt

{

    int   ColID;

    char  ColCode[64];      /* 字段英文名称 */

    char  ColName[128];     /* 字段中文名称*/

    char  ColType[20];      /* 字段类型(包含长度) */

    char  ColComment[128];  /* 字段描述 */

}SrcFileFmt;

int main(int argc, char **argv)

{

    SrcFileFmt SrcFileFmt[128];

    int iNum = -1;

    if ( 2  argc )

    {

        printf(“Usage: %s SrcXmlFile\n”, argv[0]);

        return -1;

    }

    iNum = parseSourceCfg(SrcCfgFile, SrcFileFmt);

    if (iNum == -1)

    {

        return -1;

    }

    return 0;

}

/* 调用此函数后,xml文件的内容会被存储到结构体数组SrcFileFmt srcfilefmt[]中

 * 此函数依赖于libxml2-2.9.2.tar.xz

 */

int parseSourceCfg(char *FileName, SrcFileFmt srcfilefmt[])

{ /* 解析源文件xml,FileName 为源xml文件名 */

    xmlDocPtr doc;

    xmlNodePtr cur, root;

    char sFileName[64] = {‘\0’};

    int cnt = 0;

    if (FileName == NULL)

    {

        return -1;

    }

    sprintf(sFileName, “%s.xml”, FileName);

    doc = xmlParseFile(sFileName);

    if (doc == NULL)

    {

        return -1;

    }

    root = xmlDocGetRootElement(doc);

    if (root == NULL) {

        xmlFreeDoc(doc);

        return(-1);

    }

    if (xmlStrcmp(root-name, (const xmlChar *) “SrcRoot”))

    {

        xmlFreeDoc(doc);

        return -1;

    }

    

    cur = root-xmlChildrenNode;

    while (cur != NULL) 

    {

        if ((!xmlStrcmp(cur-name, (const xmlChar *)”Column”)))

        {

            xmlChar *key;

            xmlNodePtr cur_sub = cur;

            cur_sub = cur_sub-xmlChildrenNode;

            while (cur_sub != NULL) 

            {

                if ((!xmlStrcmp(cur_sub-name, (const xmlChar *)”ColID”))) {

                    key = xmlNodeListGetString(doc, cur_sub-xmlChildrenNode, 1);

                    killblank((char*)key);

                    srcfilefmt[cnt].ColID = atoi((char*)key);

                    xmlFree(key);

                }

                if ((!xmlStrcmp(cur_sub-name, (const xmlChar *)”ColCode”))) {

                    key = xmlNodeListGetString(doc, cur_sub-xmlChildrenNode, 1);

                    killblank((char*)key);

                    strcpy(srcfilefmt[cnt].ColCode, (char*)key);

                    xmlFree(key);

                }

                else if ((!xmlStrcmp(cur_sub-name, (const xmlChar *)”ColName”))) {

                    key = xmlNodeListGetString(doc, cur_sub-xmlChildrenNode, 1);

                    killblank((char*)key);

                    strcpy(srcfilefmt[cnt].ColName, (char*)key);

                    xmlFree(key);

                }

                else if ((!xmlStrcmp(cur_sub-name, (const xmlChar *)”ColType”))) {

                    key = xmlNodeListGetString(doc, cur_sub-xmlChildrenNode, 1);

                     killblank((char*)key);

                    strcpy(srcfilefmt[cnt].ColType, (char*)key);

                    xmlFree(key);

                }

                else if ((!xmlStrcmp(cur_sub-name, (const xmlChar *)”ColComment”))) {

                    key = xmlNodeListGetString(doc, cur_sub-xmlChildrenNode, 1);

                    killblank((char*)key);

                    strcpy(srcfilefmt[cnt].ColComment, (char*)key);

                    xmlFree(key);

                }

                cur_sub = cur_sub-next;

            }

            cnt++;

        }

        cur = cur-next;

    }

    xmlFreeDoc(doc); 

    return cnt;

}

SrcRoot

    Column

        ColID1/ColID

        ColCodekmh/ColCode

        ColName字段1/ColName

        ColTypeVARCHAR(11)/ColType

    /Column

    Column

        ColID2/ColID

        ColCodedfkmh/ColCode

        ColName字段2/ColName

        ColTypeVARCHAR(11)/ColType

    /Column

    Column

        ColID3/ColID

        ColCodehbh/ColCode

        ColName字段3/ColName

        ColTypeINTEGER(10)/ColType

    /Column

/SrcRoot

C语言 格式符解析

printf(“a=%4d,b=%6.2f,c=%c,d=%s”,12,3.456,‘A’,“hello”);

%4d

对应后面第一个数值12,以整型占4个字符打印输出,

%6.2f

以实型打印输出,格式输出为占6个字符,打印小数点后两位。。四舍五入为3.46,

把3.456改为3.454,看看

%c打印字符型

%s字符串型

跪求:如何正确地选用数据类型?(C语言)

char是固定长度字符类型,varchar是可变长度的字符类型,在检索时char列会删除尾部的空格,MyISAM存储引擎建议使用固定长度的数据列替代可变长度的数据列,MEMORY存储引擎目前都使用固定长度的数据行存储。InnoDB存储引擎建议使用varchar。

保存较大文本时通常会使用text或者blob。二者的差别是blob能用来保存二进制数据比如照片,而text只能保存字符数据。text和blob值会引起一些性能问题,特别是在执行了大量的删除操作时。可以使用合成的索引来提高大文本字段(BLOB 或TEXT)的查询性能。

扩展资料:

注意事项:

在MySQL中支持的5个主要整数类型是TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT。这些类型在很大程度上是相同的,只有存储的值的大小是不相同的。

使用一个宽度指示器不会影响字段的大小和可以存储的值的范围。万一需要对一个字段存储一个超出许可范围的数字,MySQL会根据允许范围最接近的一端截短后再进行存储。还有一个比较特别的地方是MySQL会在不合规定的值插入表前自动修改为0。

参考资料来源:百度百科-数据类型

原创文章,作者:JHTS,如若转载,请注明出处:https://www.506064.com/n/147183.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
JHTSJHTS
上一篇 2024-11-01 14:07
下一篇 2024-11-01 14:07

相关推荐

  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • Python渲染HTML库

    Python渲染HTML库指的是能够将Python中的数据自动转换为HTML格式的Python库。HTML(超文本标记语言)是用于创建网页的标准标记语言。渲染HTML库使得我们可以…

    编程 2025-04-29
  • OpenJudge答案1.6的C语言实现

    本文将从多个方面详细阐述OpenJudge答案1.6在C语言中的实现方法,帮助初学者更好地学习和理解。 一、需求概述 OpenJudge答案1.6的要求是,输入两个整数a和b,输出…

    编程 2025-04-29
  • Python按位运算符和C语言

    本文将从多个方面详细阐述Python按位运算符和C语言的相关内容,并给出相应的代码示例。 一、概述 Python是一种动态的、面向对象的编程语言,其按位运算符是用于按位操作的运算符…

    编程 2025-04-29
  • Python语言由荷兰人为中心的全能编程开发工程师

    Python语言是一种高级语言,很多编程开发工程师都喜欢使用Python语言进行开发。Python语言的创始人是荷兰人Guido van Rossum,他在1989年圣诞节期间开始…

    编程 2025-04-28
  • Python语言设计基础第2版PDF

    Python语言设计基础第2版PDF是一本介绍Python编程语言的经典教材。本篇文章将从多个方面对该教材进行详细的阐述和介绍。 一、基础知识 本教材中介绍了Python编程语言的…

    编程 2025-04-28
  • Python语言实现人名最多数统计

    本文将从几个方面详细介绍Python语言实现人名最多数统计的方法和应用。 一、Python实现人名最多数统计的基础 1、首先,我们需要了解Python语言的一些基础知识,如列表、字…

    编程 2025-04-28
  • Python作为中心语言,在编程中取代C语言的优势和挑战

    Python一直以其简单易懂的语法和高效的编码环境而著名。然而,它最近的发展趋势表明Python的使用范围已经从脚本语言扩展到了从Web应用到机器学习等广泛的开发领域。与此同时,C…

    编程 2025-04-28

发表回复

登录后才能评论