广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >AndroidNDK开发(C语言字符串)
  • 412
分享到

AndroidNDK开发(C语言字符串)

2024-04-02 19:04:59 412人浏览 八月长安
摘要

目录1.C语音的字符串有两种1.1字符数组1.2字符指针2.字符串常用的方法2.1strcpy字符串拼接2.2strchr字符串中查找字符2.3strchr字符串中查找字符2.4更多

1.C语音的字符串有两种

1.1字符数组


数组可以修改其中某一个值,不可以整体赋值。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

//使用字符数组存储字符串
void  main() {

    //三种写法
    //\0代表 结束符
    char str[] = { 'h','e','l','l','o','\0' };
    //char str[6]= { 'h','e','l','l','o' };
    //char str[10] = "hello";

    printf("%s\n", str);
    //地址
    printf("%#x\n", str);
    getchar();
}

结果输出:

hello
0xb3fb78

1.2字符指针

字符指针不可以修改其中某一个值,可以整体赋值。使用指针加法,结合结束符,可以进行截取。


void main() {
    char *str = "how are you?";
    printf("%s\n", str);
    //str[1] = "w" ; //字符指针不可以修改其中某一个值

    str = "hello world";
    printf("%s\n", str);
    printf("%#x\n", str);

    //使用指针加法,截取字符串
    str += 3; //指向第四个字符首地址
    while (*str) {
        printf("%c", *str);
        str++;

    }
    getchar();
}

结果输出:

how are you?
hello world
0x97b44
lo world

2.字符串常用的方法

相关的头文件:#include <string.h>

2.1strcpy字符串拼接

原型:extern char *strcpy(char *dest,char *src);

功能:src所指由NULL结束的字符串复制到dest所指的数组中。

说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。

举例:


void main(void){
    char dest[50];  
    char *a = "china";
    char *b = " is powerful!";
    strcpy(dest, a);
    strcat(dest, b);
    printf("%s\n", dest);

    system("pause");
}

结果输出:

china is powerful!

2.2strchr字符串中查找字符

原型:extern char *strchr(char *s,char c);

功能:查找字符串s中首次出现字符c的位置

说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL。


void main(void){
    char *str = "I want Go to USA!";
    printf("%#x\n", str);
    //U元素的指针
    //str+3
    char* p = strchr(str, 'w');
    if (p){
        printf("索引位置:%d\n", p - str);
    }
    else{
        printf("没有找到");
    }

    system("pause");
}

结果输出:

0x877b30
索引位置:2

2.3strchr字符串中查找字符

原型:extern char *strstr(char *haystack, char *needle);

功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。

说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。


//strstr 从字符串haystack中寻找needle第一次出现的位置

void main(void){
    char *haystack = "I want go to USA!";
    char *needle = "to";
    //U元素的指针

    char* p = strstr(haystack, needle);
    if (p){
        printf("索引位置:%d\n", p - haystack);
    }
    else{
        printf("没有找到");
    }

    system("pause");
}

结果输出:

索引位置:10

2.4更多用法...


//strset 把字符串s中的所有字符都设置成字符c
void main(void){
    char str[] = "internet change the world!";
    _strset(str,'w');
    printf("%s\n",str);
    system("pause");
}

//strrev 把字符串s的所有字符的顺序颠倒过来
void main(void){
    char str[] = "internet change the world!";
    _strrev(str);
    printf("%s\n", str);
    system("pause");
}

//atoi 字符串转为int类型
//atol():将字符串转换为长整型值
void main(void){
    char* str = "a78";
    //int r = atoi(str);    
    printf("%d\n", r);

    system("pause");
}

// 字符串转为double类型
void main(void){
    char* str = "77b8b";
    char** p = NULL;
    //char* p = str + 2;
    //参数说明:str为要转换的字符串,endstr 为第一个不能转换的字符的指针
    double r = strtod(str,p);
    printf("%lf\n", r);
    printf("%#x\n", p);

    system("pause");
}

//strupr转换为大写
void main(void){
    char str[] = "CHINA motherland!";
    _strupr(str);
    printf("%s\n",str);
    system("pause");
}

//转换为小写
void mystrlwr(char str[],int len){
    int i = 0;
    for (; i < len; i++){
        //A-Z 字母 a-Z
        if (str[i] >= 'A' && str[i] <= 'Z'){
            str[i] = str[i]-'A' + 'a';
        }
    }   

}


void main(void){
    char str[] = "CHINA motherland!";
    mystrlwr(str,strlen(str));
    printf("%s\n", str);
    system("pause");
}

//练习:删除字符串中指定的字符
void delchar(char *str, char del){
    char *p = str;
    while (*str != '\0') {
        if (*str != del) {
            *p++ = *str;
        }
        str++;
    }
    *p = '\0';
}


//删除最后一个字符
int main()
{
    char str[] = "vencent ppqq";

    delchar(str,'t');
    printf("%s\n", str);
    
    system("pause");
}

//Java String replaceAll 
//StringBuffer buff.deleteCharAt(buff.length()-1);
//删除最后一个字符
void main(void){
    char str[] = "internet,";
    str[strlen(str) - 1] = '\0';
    printf("%s\n", str);
        
    //作业:realloc实现StringBuffer的拼接,而不是一开始开辟一个很大的数组
    //结构体StringBuffer 

    system("pause");
}

//memcpy 由src所指内存区域复制count个字节到dest所指内存区域
void main(void){
    char src[] = "C,c++,Java";
    char dest[20] = {0};

    //字节
    memcpy(dest,src,5);
    
    printf("%s\n",dest);
    system("pause");
}

//memchr 从buf所指内存区域的前count个字节查找字符ch。
void main(void){
    char src[] = "C,C++,Java";
    char ch = 'C';

    //字节 (分段截取)
    char* p = memchr(src+3, ch, 5);
    if (p){
        printf("索引:%d\n", p - src);
    }
    else{
        printf("找不到\n");
    }

    
    system("pause");
}

//memmove 由src所指内存区域复制count个字节到dest所指内存区域。
void main(){
    char s[] = "Michael Jackson!";
    //截取的效果 
    memmove(s, s + 8, strlen(s) - 8 - 1);
    s[strlen(s) - 8] = 0;
    printf("%s\n", s);
    getchar();
}

//在字符串s1中寻找字符串s2中任何一个字符相匹配的第一个字符的位置,空字符NULL不包括在内
void main(){
    char *s1 = "Welcome To Beijing";
    char *s2 = "to"; 
    char *p;

    p = strpbrk(s1, s2);
    if (p)
        printf("%s\n", p);
    else
        printf("Not Found!\n");

    p = strpbrk(s1, "Da");
    if (p)
        printf("%s", p);
    else
        printf("Not Found!");

    getchar();
}

到此这篇关于Android NDK开发(C语言字符串)的文章就介绍到这了,更多相关Android NDK C语言字符串 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: AndroidNDK开发(C语言字符串)

本文链接: https://www.lsjlt.com/news/159483.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • AndroidNDK开发(C语言字符串)
    目录1.C语音的字符串有两种1.1字符数组1.2字符指针2.字符串常用的方法2.1strcpy字符串拼接2.2strchr字符串中查找字符2.3strchr字符串中查找字符2.4更多...
    99+
    2022-11-12
  • AndroidNDK开发(C语言-文件读写)
    目录1.文件读写 1.1打开文件 1.2关闭文件 1.3读取文件 1.4写入文件 1.5读写二进制I/O文件 1.6获取文件的大小 1.7文本简单加密、解密 1.8二进制文件简单加解...
    99+
    2022-11-12
  • AndroidNDK开发(C语言基本数据类型)
    目录1.C 语言包含的数据类型2.C语言的基本数据类型3.示例代码1.C 语言包含的数据类型 如下图所示: 2.C语言的基本数据类型 short、int、long、char、f...
    99+
    2022-11-12
  • AndroidNDK开发(C语言--动态内存分配)
    1.C 内存管理函数 C 语言为内存的分配和管理提供了几个函数。这些函数可以在 <stdlib.h> 头文件中找到。 ...
    99+
    2022-11-12
  • C语言字符串替换:字符,字符串,字符数组详解
    目录案例描述案例分析必备知识1,字符数组(1)字符数组的定义(2)字符数组的初始化2,字符串概念(1)字符串的概念(2)用字符初始化字符数组(3)获取字符串的长度3,字符串与指针4,...
    99+
    2022-11-12
  • C语言字符串替换:字符,字符串,字符数组详解
    在C语言中,字符串是由字符数组表示的。一个字符串是一个以null字符('\0')结尾的字符数组。字符替换:要替换字符串中的某个字符,...
    99+
    2023-08-15
    C语言
  • c语言中字符串与字符串数组详解
    目录字符串字符串输出输入字符串字符串常用方法字符串数组总结字符串 用双引号引起来的就是字符串,字符串由字符组成 字符串使用%s格式化输出 字符串以\0结尾,...
    99+
    2022-11-12
  • 【C语言】字符函数和字符串函数
    目录 一、函数介绍及其模拟实现 1.strlen 2.strcpy 3.strcat 4.strcmp  5.strncpy 6.strncat  7.strncmp 8.strstr  9.strtok 10.strerror   11....
    99+
    2023-09-15
    c语言 开发语言
  • C语言详解字符串基础
    目录一、字符串的概念二、字符数组与字符串三、字符串字面量的秘密四、字符串的长度五、小结一、字符串的概念 字符串是有序字符的集合 字符串是程序中的基本元素之一 C 语言中没有字符串的概...
    99+
    2022-11-13
  • C语言字符串实例分析
    本篇内容主要讲解“C语言字符串实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言字符串实例分析”吧!看下面这个我们熟知的也是最先学习的代码"Hello world!"...
    99+
    2023-06-29
  • c语言怎么读取字符串
    C语言中可以使用`scanf`函数来读取字符串。`scanf`函数可以读取输入流中的字符串,并将其存储到指定的变量中。以下是一些常见...
    99+
    2023-09-21
    c语言
  • C语言字符串数组详解
    C语言字符串数组 字符串是连续的字符序列,最后以空字符'\0'作为终止符。一个字符串的长度指所有字符的数量,但不包括终止符。在 C 语言中,没有字符串类型,自然也就没有运算符以字符串...
    99+
    2022-11-12
  • C语言字符串函数入门
    目录实现字符串库函数功能1.strlen函数2.strcmp函数3.strcpy函数4.strcat函数5.strupr函数6.strlwr函数总结实现字符串库函数功能 有些时候我们...
    99+
    2022-11-12
  • c语言怎么输入字符串
    在C语言中,可以使用`scanf`函数来输入字符串。下面是一个例子:```c#include int main() {char st...
    99+
    2023-09-05
    c语言
  • C语言的常量和字符串
    目录常量种类字符串总结 常量种类 C语言中,我们常使用的常量有以下几种: 字面常量 const常变量 #define定义的标识符常量 枚举常量 代...
    99+
    2022-11-12
  • C语言字符串怎么表示
    这篇文章主要介绍了C语言字符串怎么表示的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言字符串怎么表示文章都会有所收获,下面我们一起来看看吧。字符串表示方式字符串常量用双引号括起来的内容称为字符串常量,例如:...
    99+
    2023-06-30
  • C语言中字符串怎么用
    小编给大家分享一下C语言中字符串怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!串的定义零个或多个字符组成的有限序列串的比较 串的比较实际上是在比较...
    99+
    2023-06-26
  • c语言字符串如何去除重复字符
    可以使用两个指针来去除重复字符。首先,创建一个空的字符串,用于存储结果。然后,遍历原始字符串中的每一个字符。对于每个字符,检查它是否...
    99+
    2023-09-05
    c语言
  • c语言如何删除字符串中相同字符
    要删除字符串中的相同字符,可以使用两层循环来遍历字符串,并比较每个字符是否与后面的字符相同。如果相同,则将后面的字符删除,直到字符串...
    99+
    2023-09-12
    c语言
  • C语言字符函数与字符串函数详解
    目录本章重点前言1.strlen函数注意点1注意点22.strcpy注意点1:注意点2:注意点3:注意点4:总结本章重点 重点介绍处理字符和字符串的库函数的使用和注意事项 1.求字符...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作