Tag: 替换

用c替换另一部分字符串的最佳方法?

可能重复: 如何在c中替换substring? 我试图寻找一个更好的解决方案来解决这个问题。 有可用的代码,但都适用于C ++。 不要忘记这在Java中非常简单和基本。 我想在C中找到一个很好的最佳解决方案 任何帮助将不胜感激! 谢谢!

使用C替换文件中的单词

如何使用C将文件中的单词替换为另一个单词? 例如,我有一个文件,其中包含: my friend name is sajid 我想用祖父替换朋友这个词,以便将文件更改为: my grandfather name is sajid (我在Ubuntu Linux上开发。) 更新: 我正在用C进行归档。我创建了一个.txt文件并将一些数据写入其中,但随着程序的进展,我必须搜索一些文本并用其他单词替换它。 我面临的问题是假设在我写的文件中 “I bought apple from the market” 如果我用菠萝替换苹果,因为苹果有5个炭,而菠萝有9个炭,它会把它写成 “I bought pineapple m the market” 它也影响了苹果之后的文字。 我必须使用C,而不是命令行脚本。

替换字符串

我正在做像excel这样的事情,我有这样的事情: 1 2 3 A1 B1 C1 它替换指定内容的内容,其中A1替换1的内容.B1替换2 …等的内容… 我正在使用多维数组,我做这样的事情: int offset = 0, readCharCount; while(sscanf(matris[i][c] + offset, “%c%d%*c%n”, &col, &linha, &readCharCount) == 2){ //printf(“%c, %d\n”, col, linha); //strcpy(matris[i][c], matris[linha-1][col – ‘A’]); offset += readCharCount; //printf(” {%c, %d}”, col, linha); //printf(“\n”); } 但是当我有A1 + B1 + C1和其他东西时,我不能替换总内容,因为其他参考将被删除…. 所以,在单元格,A1 + B1 + C1,我想改变B1指定的内容….我想这样: This -> A1+B1+C1 […]

如何用C中的另一个字符串替换一段const char *?

假设您有一个类似http://1.1.1.1/test.mpg的链接。 然后你想把它改成http://1.1.1.1/test.mkv 。 如何在C中以编程方式将“mpg”更改为“mkv”? 我尝试使用strtok和strcpy,但我不擅长C,所以我不能这样做。

在C中用单个空格替换多个空格

我想用单个空格在字符串中重复多个空格,但是我的下面的代码不起作用。 什么是逻辑错误? #include #include main() { char input[100]; int i,j,n,z=0; scanf(“%d”,&n); z=n; for(i=0;i<n;i++) scanf("%c",&input[i]); for(i=0;i<n;i++) { if(input[i]==' ' && (input[i+1]==' ' || input[i-1]==' ')) { –z; for(j=i;j<n;j++) input[j]=input[j+1]; } } for(i=0;i<z;i++) printf("%c",input[i]); printf("\n"); }

对stricmp的未定义引用

我正在尝试创建一个方法来查找并替换字符串中的字符串,但我似乎在编译时遇到了一些错误。 我能找到一些帮助来弄清楚发生了什么吗? void replaceString(char *find, char *replace) { int len_string,i; char temp[30]; len_string=strlen(find); while(1) { for(i=0;i<len_string;i++) temp[i]=fgetc(edit); temp[i+1]=NULL; /* the stricmp() is used for comparing both string. */ if(stricmp(find,temp)==0) { fprintf(edit,"%s ",replace); fclose(edit); exit(1); } fseek(edit,-(len_string-1),1); } } 我在编译时获得的错误是对stricmp的未定义引用。 我知道这不是正确的编码约定,但编辑(FILE类型的对象)当前是一个全局变量。

从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”; 我需要修改此缓冲区以替换所有& 与& 。 生成的缓冲区不必覆盖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; 未来的修改: 创建一个实用程序函数来存储此函数。 将搜索字符串作为参数传递。 确定搜索字符串的长度,因此可以删除硬编码的5。 动态分配strTemp变量。 检查未找到空字符串和字符时出错。 […]