• 【iOS开发之C语言】sprintf,strncpy,strcmp三个函数的区别


    strncpy

    这个函数用于将源字符串的内容拷贝到目标字符串,会覆盖掉目标字符串的之前内容

        char str1[4] = "love";
        char str2[] = "cool";
        // char * 目标, const char * 源
        // strcpy函数会将源的数据拷贝到目标中, 并且会覆盖掉目标中原有的数据
        // 目标的容积必须能够存放拷贝的数据, 如果容积不够会报错
        strcpy(str1, str2);
        NSLog(@"str1=%s,str2= %s",str1,str2);

    打印结果为: 

    strcmp

    用于字符串的比较,返回一个整数作为比较的结果:如果该值等于0,那么证明两个字符串相等,如果该值小于0, 那么证明str1小于str2,如果该值大于0, 那么证明str1大于str2。

         char str1[] = "aac"; // a a
         char str2[] = "abc"; // a b
         
         // strcmp它会对传入的字符串进行比较, 比较完毕之后会返回一个整型的值给我们
         // strcmp的原理: 取出字符串中的每一个字符进行逐个比较, 如果发现不相等就不会继续往下比较
         int res = strcmp(str1, str2);
         printf("res = %i
    ", res);

    打印结果是,str1的第二个字母比str2小,故被认为str1比str2小

    sprintf

    用于把格式化的数据写入某个字符串,实现将其他数据类型转为字符串类型

        int a = 1;
        int b = 2;
        char s[50];
    
        sprintf(s,"%d and %d.", a, b);
        printf("%s",s);

    打印结果为

  • 相关阅读:
    mahout下的KMeans Clustering实现
    信号量、互斥体和自旋锁
    找出二叉树中两个节点的最低共同父节点
    C/C++中volatile关键字
    函数指针和指针函数
    java终止线程的通用机制
    我的一次重构实践
    新手浅谈Future
    线程中添加线程
    死锁
  • 原文地址:https://www.cnblogs.com/heyode/p/5135694.html
Copyright © 2020-2023  润新知