相关疑难解决方法(0)

从C中删除字符串中的字符

我只能访问'C'并需要替换字符数组中的字符.对于这个相对简单的程序,我还没有想出任何干净的解决方案.

我传递了一个字符数组,例如:

char strBuffer[] = "/html/scorm12/course/course_index.jsp?user_id=100000232&course_id=100000879&course_prefix=ACQ&version=2&scorm_version=3&roster_id=100011365&course_name=Test%20Course%201.2&mode=browse&course_number=0000&mode_id=1";
Run Code Online (Sandbox Code Playgroud)

我需要修改这个缓冲,以取代所有&&.生成的缓冲区不必覆盖strBuffer(可以创建新的缓冲区).

有什么建议?

编辑:

在过去,我已经在循环中完成了strstr函数,但是正在寻找一个更简单的解决方案,也许是C等效于String.Replace方法.

编辑:

对于我的迫切需求,以下就是我所需要的.

char strBuffer[] = "/html/scorm12/course/course_index.jsp?user_id=100000232&course_id=100000879&course_prefix=ACQ&version=2&scorm_version=3&roster_id=100011365&course_name=Test%20Course%201.2&mode=browse&course_number=0000&mode_id=1";
char strTemp[1024];
char *s = (char*)strBuffer;
int i=0;

while (*s)
{
    strTemp[i++] = *s;
    if (strncmp(s,"&",5) == 0)
    {
        s += 5;
    }
    else
        s++;
}
strTemp[i] = 0;
Run Code Online (Sandbox Code Playgroud)

未来的修改:

  • 创建一个实用程序函数来存储此函数.
  • 将搜索字符串作为参数传递.
  • 确定搜索字符串的长度,因此可以删除硬编码的5.
  • 动态分配strTemp变量.
  • 检查未找到空字符串和字符时出错.

编辑:

我创建了一篇博文,详细介绍了这些步骤并提供了更灵活的解决方案:

http://www.solutionmaniacs.com/blog/2012/11/25/c-removereplace-characters-in-a-string.html

c arrays replace char

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

arrays ×1

c ×1

char ×1

replace ×1