C语言问题--关于string得去掉双引号

来源:百度知道 编辑:UC知道 时间:2024/06/20 20:33:34
有个问题想请大家帮忙下,就是:
初始时是给定一排东西的,里面有字母,有数字
比如0123456789abcdefghij0123456789
然后要用户输入命令,这里只考虑输入insert的情况,
当用户输入其他时,显示出invaild command
市insert时,要用户输入位置和要插入的东西,
可以是字母或者数字,但前后是有双引号的
所以要求1,需要在main之外的 function中去掉双引号
比如"abc","123"
之后将abc或123插入到对应的位置中,
要求2,这个过程也要用到main之外的 function

谢谢
0123456789ABCDEFGHIJ0123456789
--------------------------------------------------------
Command: insert 1 "XYZ"
--------------------------------------------------------
0XYZ123456789ABCDEFGHIJ0123456789
--------------------------------------------------------
Command: insert 100 "XXX"
---------------------------------------------------------
0XYZ123456789ABCDEFGHIJ0123456789XXX
当插入位置大于一共的个数时,就插在最后

题目取错了,不好意思

#include "string.h"
insert(char a[],int n,char *p){
int j=strlen(a);
int i;
int m=0;
char b[30];

while(*p){ /*去掉字符串P中的“*/
if(*p!='"')
b[m++]=*p;
p++;
}
i=strlen(b);

if(n>j)/*如果N大于数组长度,查到最后*/
n=j;

for(m=j;m>=n;m--){ /*移动数组为插入字符串空出位置*/
a[m+i-1]=a[m-1];
}

for(m=0;m<i;m++){ /*插入字符串*/
a[m+n]=b[m];
}
}
main(){
char a[100]="0123456789";
char *p,*q;
int n;
while(1){
printf("Command:");
scanf("%s %d %s",p,&n,q);
printf("-------------------------------------------\n");
if(strcmp(p,"insert")!=0)
printf("invaild command\n");
else{
insert(a,n,q);
printf("%s\n",a);
}
printf("-------------------------------------------\n");