zoukankan      html  css  js  c++  java
  • 【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);

    打印结果为

  • 相关阅读:
    森田疗法
    “不支持一个STA线程上针对多个句柄的WaitAll。”的解决方案
    烽火HG226信息
    祝贺小牛队得NBA总冠军
    .net4调用非托管代码出现:PInvoke调用导致堆栈不对称
    大怪路子逻辑
    C#内存复制与比较
    【收藏】UDP广播和多播
    Objectivec NSString
    Objectivec NSDictionary(NSMutableDictionary)
  • 原文地址:https://www.cnblogs.com/heyode/p/5135694.html
Copyright © 2011-2022 走看看