【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);

打印结果为

原文地址:https://www.cnblogs.com/heyode/p/5135694.html