21xrx.com
2024-04-19 22:16:04 Friday
登录
文章检索 我的文章 写文章
C程序将子字符串插入字符串
2021-07-08 09:10:03 深夜i     --     --
C

将子字符串插入字符串的 C 程序:此代码将字符串插入源字符串。 例如,如果源字符串是“C programming”,要插入的字符串是“ very good”(请注意开头有空格),如果我们在第14位插入字符串,那么我们得到字符串“C programming very good”。 在我们的 C 程序中,我们将创建一个执行所需任务的函数,并将三个参数传递给它:源字符串、要插入的字符串和位置。 您可以在任何有效位置插入字符串。

C程序

#include <stdio.h>
#include <string.h>
#include <stdlib.h>


void insert_substring(char*, char*, int);
char* substring(char*, int, int);

int main()
{
   char text[100], substring[100];
   int position;
   
   printf("Enter some text\n");
   gets(text);
   
   printf("Enter a string to insert\n");
   gets(substring);
   
   printf("Enter the position to insert\n");
   scanf("%d", &position);
   
   insert_substring(text, substring, position);
   
   printf("%s\n",text);
   
   return 0;
}

void insert_substring(char *a, char *b, int position)
{
   char *f, *e;
   int length;
   
   length = strlen(a);
   
   f = substring(a, 1, position - 1 );      
   e = substring(a, position, length-position+1);

   strcpy(a, "");
   strcat(a, f);
   free(f);
   strcat(a, b);
   strcat(a, e);
   free(e);
}

char *substring(char *string, int position, int length)
{
   char *pointer;
   int c;
 
   pointer = malloc(length+1);
   
   if( pointer == NULL )
       exit(EXIT_FAILURE);
 
   for( c = 0 ; c < length ; c++ )
      *(pointer+c) = *((string+position-1)+c);      
       
   *(pointer+c) = '\0';
 
   return pointer;
}

下载插入子串程序。

程序输出:

  
  
下一篇: C 编程教程

评论区

{{item['qq_nickname']}}
()
回复
回复