c语言字符串插入
Ⅰ c语言文件IO如何在指定位置插入字符串
如果是C语言调用stdio.h库函数的话使用fseek设置文件指针,指向指定的位置,然后再用fprintf或者fwrite将数据写入文件中。如果是C语言调用windows.h库函数的话则调用SetFilePointer设置文件指针指向指定位置,之后再调用WriteFile将数据写入文件。
Ⅱ c语言中如何将一字符串插入另一个字符串中
#include<stdio.h>
void main()
{
void insert(char a[],char b[],int t);
char a[100],b[100];
int t,i,j;
printf("input a string:\n");
gets(a);
printf("inut b string:\n");
gets(b);
printf("input the position to insert:\n");
scanf("%d",&t);
if(t<=0 || t>strlen(a)+1)
{
printf("wrong!.input again");
scanf("%d",&t);
}
insert(a,b,t);
}
void insert(char a[],char b[],int t)
{
int len1,len2;
int i,j,k,l;
char c[100];
len1=strlen(a);
len2=strlen(b);
for(i=0;i<t-1;i++)
c[i]=a[i];
for(j=0;j<len2;j++)
c[i+j]=b[j];
l=0;
for(k=t-1;k<len1;k++)
{
c[i+j+l]=a[k];
l++;
}
c[i+j+l]='\0';
puts(c);
}
另外,站长团上有产品团购,便宜有保证
Ⅲ C语言中,如何在一字符串中插入字符
c[5]只有5个空间无法完全容纳字符串"hello",因为这个字符串需要占用6个字符位置。
所谓自动加'\0'的问题是:你写在双引号中的,编译程序会认为是字符串,会自动为你添加上一个字符串结尾符号0,而不是运行时添加的。
如果你用debug方式运行程序,调试环境自动会把你开设的char
a[5];进行初始化0的工作,这时你再将第1位初始化时,后面的0仍存在就好象字符串结尾已经存在了。如果非debug运行则没有这个初始化工作。
如果你用字符方式初始化应当写:char
c[6]={
'h','e','l','l','o','\0'
};
希望对你能有所帮助。
Ⅳ 将一个字符串插入到另一个字符串的指定位置的题目(用C语言解决)
1、参数2去掉与参数1相同的字符串。
Ⅳ 在C语言中怎么输入一个字符串
在c语言中存储一个字符串,一般有两种方法,一种是字符指针,一种是使用字符数组。比如:
const char *str = "hello"; //使用字符串指针
const char str[] = "hello"; //使用字符数组
如果保存的字符串,需要修改。一般使用字符数组。比如:
char path[256] = "c:\\windows\\";
strcat(path, "system32");
Ⅵ 用C语言怎么写个 字符串插入函数
程序的大体思路可以是这样:
str1是原字符串,str2是待插入的字符串,position是待插入的位置,我们可以这样,用一个指针p_cur指向字符串1 str1中的待插入位置position,另一个指针p_end指向字符串1 str1的尾部,每次插入字符前,把str1中从当前位置开始一直到结束字符全部后移一个位置,空出当前位置,然后把要插入的字符放进这个位置,这样就完成了一个字符的插入,重复这个步骤,直到str2被完全插入。
代码如下:
#include <stdio.h>
#include <string.h>
void insert_str(char str1[],char str2[],int position)
{
/*
insert_str()函数
功能:将字符串str2插入到str1的position位置处
参数:char str1,char str2 ,int position
返回值:无
*/
int i;
char *p_end,*p_cur,*p;/*p_end指向第一个字符串的尾部,p_cur指向被插入的位置*/
p_end=str1+strlen(str1)-1;
p_cur=str1+position-1;
for(i=0;str2[i]!='\0';i++)
{
for(p=p_end;p>=p_cur;p--)
{
*(p+1)=*p;/*从p_cur到p_end的全部元素后移一个位置,此时p_cur指向的位置就空出来了*/
}
*p_cur=str2[i];/*把字符串2中的字符插入空出来的位置*/
p_cur++;/*p_cur下移一个位置*/
p_end++;/*多了一个字符,因此p_end也下移一个位置*/
}
}
void main()
{
char s1[100],s2[20];
int position;
printf("输入字符串1:\n");
gets(s1);
printf("输入插入位置:");
do
{
scanf("%d",&position);
while(getchar()!='\n');/*这一句可以把输入position的时候输入的回车去掉*/
}while(position<0||position>strlen(s1));
printf("输入字符串2:\n");
gets(s2);
insert_str(s1,s2,position);
printf("字符串被插入后变成:\n");
puts(s1);
}