首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在目标C的数组中用UnderScore(_)替换Space

在目标C语言中,可以使用strchr函数来查找字符串中的空格,然后使用memmove函数将空格之后的字符向前移动,最后将空格替换为下划线。以下是一个示例代码:

代码语言:c
复制
#include<stdio.h>
#include<string.h>

void replace_space_with_underscore(char *str) {
    char *space_ptr = strchr(str, ' ');
    while (space_ptr != NULL) {
        memmove(space_ptr, space_ptr + 1, strlen(space_ptr + 1) + 1);
        *space_ptr = '_';
        space_ptr = strchr(space_ptr, ' ');
    }
}

int main() {
    char str[] = "这是 一个 测试 字符串";
    printf("原始字符串: %s\n", str);
    replace_space_with_underscore(str);
    printf("替换后的字符串: %s\n", str);
    return 0;
}

输出结果:

代码语言:txt
复制
原始字符串: 这是 一个 测试 字符串
替换后的字符串: 这是_一个_测试_字符串

这个示例代码中,replace_space_with_underscore函数接收一个字符串指针作为参数,然后使用strchr函数查找字符串中的空格,如果找到了空格,就使用memmove函数将空格之后的字符向前移动,并将空格替换为下划线。这个过程会一直进行,直到字符串中没有空格为止。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

独家 | 关于二分搜索算法你需要知道一切

让我们来定义一下前面那句话中专业术语。一个 "算法 "是解决一个问题方法,就像我们在例子中用来查找一个单词方法。一个 "元素 "就是我们要找那个词,而 "元素排序列表 "就是字典。...如果目标值存在,返回其索引;否则,返回-1。 输入:排序数组(nums)和目标值(target)。 输出:目标索引。 二分搜索算法 二分搜索算法工作原理如下: 1....设置搜索空间等于排序后数组。 3. 取搜索空间中间元素,与目标值进行比较。 如果目标值等于中间元素,你就找到了目标值。返回中间元素索引并终止该函数。...如果目标值小于中间元素,将搜索空间减半,抛弃中间元素右边所有元素,在其左边继续搜索,因为数组是按升序排序。重复这个步骤直到找到目标。...如何在一个数组中二分搜索数字8(图片由作者受Mike Buss启发[7])。 二分搜索算法在排序列表上比线性搜索算法更有效。它有一个对数时间复杂度和恒定空间复杂度。

1.1K10

关于二分搜索算法你需要知道一切

让我们来定义一下前面那句话中专业术语。一个 "算法 "是解决一个问题方法,就像我们在例子中用来查找一个单词方法。一个 "元素 "就是我们要找那个词,而 "元素排序列表 "就是字典。...如果目标值存在,返回其索引;否则,返回-1。 输入:排序数组(nums)和目标值(target)。 输出:目标索引。 二分搜索算法 二分搜索算法工作原理如下: 1....设置搜索空间等于排序后数组。 2. 取搜索空间中间元素,与目标值进行比较。 如果目标值等于中间元素,你就找到了目标值。返回中间元素索引并终止该函数。...如果目标值小于中间元素,将搜索空间减半,抛弃中间元素右边所有元素,在其左边继续搜索,因为数组是按升序排序。重复这个步骤直到找到目标。...如何在一个数组中二分搜索数字8(图片由作者受Mike Buss启发[7])。 二分搜索算法在排序列表上比线性搜索算法更有效。它有一个对数时间复杂度和恒定空间复杂度。

85110
  • bootstrap 自动补全插件Bootstrap Typeahead 组件

    如果你希望通过 Ajax 调用从服务器端获取匹配数据,那么,在异步完成处理函数中,你需要获取一个匹配字符串数组,然后,将这个数组作为参数,调用 process 函数。...复制代码 ](javascript:void(0); "复制代码") 第五,使用对象数据 实际上,你数据可能是一组对象而不是一个字符串数组,下面的例子中,我们使用一个产品对象数组来说明,每个产品对象有一个...首先,修改我们 source 函数,原来这个函数返回一个字符串数组,现在我们返回一个产品 id 数组,但是,process 函数期望得到一个字符串数组参数,所以,我们将每个 id 都转换为字符串类型...而在 highlighter 中将显示结果替换为希望产品名称和价格组合。...在下一步 highlighter 中,我们使用 Underscore 组件中 find 方法,通过产品 id 在产品列表中获取产品对象,然后,显示产品名称和价格组合。

    3K20

    JavaScript 现代 Web 开发框架教程(九)

    其次,Underscore 被引入了一个名为 Lodash 新项目,目标是显著提高性能并扩展其 API。...一旦加载了 Underscore 对象,就可以立即使用它。 Underscore 实用函数主要作用于集合(数组和类似数组对象,参数)、对象文字和函数。...幸运是,创建这个应用开发人员使用 Underscore indexBy()函数从airports数组创建了一个索引对象,清单 16-6 所示。 Listing 16-6....当传入一个目标对象和一个或多个属性名时,pick()将从目标返回另一个仅由这些属性(及其值)组成对象。...当一个数据对象被传递给这个绑定函数时,任何与原始模板字符串中绑定表达式匹配属性都将在最终计算输出中被替换

    7510

    LinuxShell命令sed

    sed 默认不会直接修改源文件,而是将读入数据先复制到模式空间(pattern space)中缓存,再根据给定命令对模式空间中数据进行处理并输出(默认 STDOUT)。 2....T [label] :替换命令未成功匹配替换后跳转到 sed 命令脚本 label 处(若未指定 label 参数,则跳转到脚本结尾)。 c\ text :用 text 替代匹配到行。...p :打印模式空间中数据。 P :打印模式空间中第一行(包括换行符)。 l :打印所有字符(不可打印字符要么在其八进制值前加 \,要么使用标准 C 风格命名法)。...y/schars/dchars/ :对模式空间中任何在 schars 中出现字符一一映射到 dchars 对应位置字符(故 schars 和 dchars 长度要求一致)。...:\/\/[^[:space:]\/]+\/([^[:space:]]+)/git@github.com:\1/' testfile 其中,testfile 为包含 github 仓库 https 协议链接文件

    1.1K30

    何在chrome中实时修改JS

    在chrome65以前,我们可以打开目标网页开发者工具—source选项卡—目标JS/CSS文件,然后在相关位置写入代码保存后即可看到改动后效果。...chrome65之后需要进行本地代码替换,本文就介绍一下如何在chrome中用本地代码替换在线代码,以达到在线修改JS效果。...请注意,像示例中xxx.com这种域名也需要创建对应文件夹: 3636c19f-c2d2-4930-9d7b-732d2aa9b632.png 最后,打开Overrides选项卡,导入刚才空文件夹,...你会发现导入目标文件已经处于激活状态: 4a2a22a0-bec0-4276-8e6f-60661495b5c3.png 刷新页面,效果已经有了: 86d64d69-a7da-4edb-a5a8-5d34760bf500....png 这种修改方式是持久化,也就是说,哪怕你关机重启,再打开目标网页,替换效果依然存在,而且你在本地对目标文件做修改都会同步到页面上,非常好用!

    37.3K32

    sqlmap一把梭

    注册表键值数据类型 十四、其他 1.使用简写 参数:-z 有些参数组合是被经常用到“–batch –random-agent –ignore-proxy –technique=BEU”,这样写一大串很不好看...编码替换 3 multiplespaces.py 围绕SQL关键字添加多个空格 4 space2plus.py 用+替换空格 5 nonrecursivereplacement.py 双重查询语句...代替等号 11 space2mssqlblank.py(mssql) 空格替换为其它空符号 12 space2mssqlhash.py 替换空格 13 between.py 用between替换大于号...替换类似’IFNULL(A, B)’为’IF(ISNULL(A), B, A)’ 24 space2mssqlhash.py 替换空格 25 modsecurityversioned.py 过滤空格...,包含完整查询版本注释 26 space2mysqlblank.py 空格替换其它空白符号(mysql) 27 between.py 用between替换大于号(>) 28 modsecurityzeroversioned.py

    2.9K30

    NPM 学习笔记整理

    $ npm info underscore 上面命令返回一个 JavaScript 对象,包含了 underscore 模块详细信息。这个对象每个成员,都可以直接从 info 命令查询。...$ npm info underscore description $ npm info underscore homepage $ npm info underscore version npm...如果我们要开发一个包,利用这种方法可以非常方便地在不同工程间进行测试。 创建包 包是在模块基础上更深一步抽象,Node 包类似于 C/C++ 函数库或者 Java 、.Net 类库。...包作者应该是贡献者数组第一个元素。 bugs: 提交 bug 地址,可以是网址或者电子邮件地址。...repositories: 仓库托管地址数组,每个元素要包含 type (仓库类型, git)、URL(仓库地址)和 path(相对于仓库路径,可选)字段。

    66000

    70个NumPy练习:在Python下一举搞定机器学习矩阵运算

    难度:1 问题:用-1替换arr数组中所有的奇数。 输入: 输出: 答案: 6.如何替换满足条件元素而不影响原始数组?...输入: 答案: 22.如何使用科学记数法(1e10)漂亮地打印一个numpy数组?...难度:1 问题:使用科学记数法(1e10)漂亮打印数组rand_arr 输入: 输出: 答案: 23.如何限制numpy数组输出中打印元素数量?...难度:2 问题:找出数组iris_2d是否有缺失值。 答案: 38.如何在numpy数组中使用0替换所有缺失值? 难度:2 问题:在numpy数组中用0替换nan。...难度:4 问题:从给定一维数组arr,使用步长生成一个二维数组,窗口长度为4,步长为2,[[0,1,2,3],[2,3,4,5],[4,5,6,7]..]

    20.7K42

    已阅冴羽大佬文章

    : window resize、scroll mousedown、mousemove keyup、keydown 2.JavaScript专题之跟着 underscore 学节流 JavaScript...专题之跟着 underscore 学节流 3.JavaScript专题之数组去重 JavaScript专题之数组去重 4.JavaScript专题之类型判断(上) JavaScript专题之类型判断(上...JavaScript 专题之数组扁平化 image.png 10.JavaScript专题之学underscore数组中查找指定元素 JavaScript专题之学underscore数组中查找指定元素...W3C标准事件流: 包含3个阶段,捕获阶段,目标阶段,冒泡阶段。...在捕获阶段,事件对象通过目标的祖先从窗口传播到目标的父级。 在目标阶段,事件对象到达事件对象事件目标。 在冒泡阶段,事件对象以相反顺序通过目标的祖先传播,从目标的父级开始,到窗口结束。

    93920

    在Unity3D中实现热力图、风向图、温度图效果(Unity3D)

    一、前言 因一个任务要完成如何在Unity上面实现热力图效果,所以百度了很久,发现资料很少,现在就把我总结的如何在Unity上面基于Canvas实现热力图效果实现过程分享出来, 此前转载了一篇主要讲的是如何根据数据值...,在Canvas上重新绘制RGBA值,完成热力图绘制,不过用是H5写,我修改了一下,用C#重写 效果图: 项目源文件已经上传CSDN: https://download.csdn.net/...第6-164,表示各个网格点浓度值 就是说有160*160个数据,可以用二维数组去接收数据 然后用一个List数组去接收解析完数据 完整代码 using System.Collections.Generic...函数只能分割单个空格,所以两个空格替换成一个空格 tempData_Space = str.Replace(" ", " ");...函数只能分割单个空格,所以两个空格替换成一个空格 tempData_Space = str.Replace(" ", " ");

    1.5K20

    嵌入式ARM设计编程(四) ARM启动过程控制

    观察程序执行过程中寄存器及存储器变化情况。 (2)实验过程中请记录并思考以下内容: 1)如何建立异常矢量入口表? 2)如何在汇编语言中切换至C语言main函数?。...3)如何在C语言中调用汇编语言函数,并完成参数传递? 4)汇编语言函数中用寄存器如何保护与恢复,为什么要保护参考程序中R11?...答:建立异常矢量入口表需要设置中断类型号,并且要设置中断服务子程序段地址,以根据异常矢量表进入不同模式中断程序。在实验程序中也有定义: 2.如何在汇编语言中切换至C语言main函数?...3.如何在C语言中调用汇编语言函数,并完成参数传递? 答:为了保证程序调用时参数正确传递,汇编程序设计要遵守ATPCS。...4.汇编语言函数中用寄存器如何保护与恢复,为什么要保护参考程序中R11? 答:汇编语言函数中用寄存器通过压栈来保护,出栈来恢复。

    1.5K20
    领券