Tag: 替换

如何调整此算法以处理要修改的关键字的多次出现?

我想搜索所有出现的字符串(第一个参数),并在所有第一个字符串出现之前添加另一个字符串(第二个参数)。 理想情况下,我希望每一次出现的dime都用limedime代替。 然而,我设法做到了这一点,因为只有第一次出现这个词。 未检测到任何不匹配的匹配字符串,并且不执行任何操作。 此外,包含dime多行根据在前一行上进行的修改进行修改,这不是我想要的。 这是我得到的一些示例输出: something dime something dime something something 会变成 something limedime something dime something something 如果我有这个 dime notimportant! dime dime 我会得到 limedime notimportant! limelimedime limelimelimedime 编辑:我已修改代码,以便您可以使用stdin轻松测试它,并且还包括replace_str() : #include #include #include char *replace_str(char *str, char *orig, char *rep) { static char buffer[4096]; char *p; if(!(p = strstr(str, orig))) return str; strncpy(buffer, str, […]

hex查找和替换

如何在二进制文件中更改二进制文件hex字符? #include #include #include #define BUFFER_SIZE 4096 int main(void) { uint8_t *buffer; // Explicit 8 bit unsigned, but should equal “unsigned char” FILE *file; char filename[512] = “test.bin”; // We could also have used buffer[BUFFER_SIZE], but this shows memory alloc if (NULL == (buffer = malloc(BUFFER_SIZE))) { fprintf(stderr, “out of memory\n”); return -1; } // […]

C将char数组中的一个字符替换为另一个字符

我有以下C代码 #include int main(void){ char c[] = “ABC” printf(“%s “, c); c[1] = ‘B’; printf(“%s”, c); return 0; } 我想要的输出是ABC BBC但我得到的输出是ABC ABC 。 如何替换String / char数组中的第一个字符?

Win32 / C:将行结尾转换为DOS / Windows格式

我在Windows API项目中具有以下C函数,该项目读取文件并基于行结尾(UNIX,MAC,DOS),它用Windows的右行结尾替换行结尾( \r\n ): // Standard C header needed for string functions #include // Defines for line-ending conversion function #define LESTATUS INT #define LE_NO_CHANGES_NEEDED (0) #define LE_CHANGES_SUCCEEDED (1) #define LE_CHANGES_FAILED (-1) /// /// If the line endings in a block of data loaded from a file contain UNIX (\n) or MAC (\r) line endings, this […]

C程序用文本文件中的“替换”替换模式“find”作为输入和输出文件应该具有替换模式

我在网上搜索但没有得到如何做到的确切想法,因为能够编写的代码只是单个出现的模式,但是如果有不同的模式出现?

C中的可变替换

我想打开一个文件。 很容易。 使用fopen()。 但是,要打开的文件取决于用户输入。 我有点精通Korn Shell脚本,这很容易使用变量替换:$(var)。 我无法在C中找出正确的格式。有人可以给我一些见解吗? 我的代码 – #include #include char statsA[100]; char fileA[50]; int main (void) { printf(“Enter file to open\n”); gets(fileA); FILE *statsA; statsA = fopen(“c:/Users/SeanA/C/******”, “r+”); …………………………………^ What goes here? 我不确定如何在fopen字符串中包含用户输入。

使用C在文件中替换字符串

我还没有实现这个,我还处于思考阶段,但我必须通过一个文件并用另一个字符串替换某个字符串。 例如, <img src="https://stackoverflow.com/images/logo.gif" … 应该成为 <img src="/proxy/www.example.comhttps://stackoverflow.com/images/logo.gif" … 关于我如何处理这个问题的任何建议? 也许有一些“字符串替换”C函数可以为我做这个我不知道的…? 现在,如果我必须自己编写这个函数,我会把它作为参数给出文件,要替换的字符串,替换字符串。 然后我会手动浏览文件并查找字符串的出现并重新创建它。 然而,这似乎效率很低。 有没有更好的方法来做到这一点? 谢谢,Hristo

c中的字符串标记生成器

下面的代码将使用空格分解字符串命令,即“”和句号,即“。”。 如果我想使用空格和完全停止(同时)的出现来分解命令,而不是每个都自己,例如命令如下:’hello .how are you’将被分解成碎片(忽略引号)[你好] [你今天好吗] char *token2 = strtok(command, ” .”);

在C中搜索.csv文件以进行名称匹配

我目前有一个包含三个字段的.csv文件:user,password,type。 例如,我的文件看起来像这样: michael, sun123, user joseph, sierra7, user isaac, apple2, sysop 我想从这样的文件中读取并检查列表中是否存在用户“isaac”。 到目前为止,我能够打开文件并将我文件的每个字符放入名为database []的一维数组中。 我已经设置了一个指向我的database []数组的第一个字符的指针。 我的问题是:如何在文件中找到“isaac”? 我的想法是检查我要查找的用户的第一个字符是否与我的数组中的字符匹配。 如果是这样,只要我没有逗号,我就会开始检查下一个字符。 当我点击逗号时,然后检查是否在使用布尔值返回回车之前退出密码,逗号和类型。 有更简单的方法吗? 提前致谢!

抑制C宏变量替换

我有这段代码(实际上是垃圾收集的Forth系统的解释器的一部分): #define PRIMITIVE(name) \ do \ { \ VocabEntry* entry = (VocabEntry*)gc_alloc(sizeof(VocabEntry)); \ entry->code = name; \ entry->name = cstr_to_pstr(#name); \ entry->prev = latest_vocab_entry; \ latest_vocab_entry = entry; \ } \ while (false) PRIMITIVE(dup); PRIMITIVE(drop); PRIMITIVE(swap); // and a lot more 但是有一个问题:在线 entry->name = cstr_to_pstr(#name); name字段替换dup , drop , swap和其余部分。 我希望字段名称不被替换。 那么,有没有办法解决这个问题,除了简单地重命名宏参数? 作为答案,请解释一般是否有一种方法来抑制宏体中宏参数名称的替换。 不要回答“只是这样做”(请)。