Tag: 字符串

从C函数返回数组

我想弄清楚如何在C中返回一个数组。这就是代码。 我要做的是保存一个数组,然后使用函数返回打印它。 我在这做错了什么? #include #define DIM 50 char *func (char input[]); int main(void) { char input[DIM]; printf(“input? “); fgets(input, DIM, stdin); printf(“output: %s”, func(input)); return 0; } char *func(char input[]) { int i; char output[DIM]; for(i = 0; i < DIM; i++) output[i] = input[i]; return &output; }

如何有效地计算C中字符串的长度?

如何有效(及时)计算C中字符串的长度? 现在我正在做: int calculate_length(char *string) { int length = 0; while (string[length] != ‘\0’) { length++; } return length; } 但是与strlen()相比它很慢,例如,有没有其他方法可以做到这一点? 谢谢。 编辑:我在一个独立的环境中工作,我不允许使用任何外部库,包括“string.h”。

如何定义和初始化结构中的字符串数组?

typedef struct mobiltelefon { char herstellername[HLEN]; double displaydiagonale; aufloesung_t aufloesung; char standards[NUMBER_OF_STRINGS][STRINGLENGTH+1] = {“GPRS”, “EDGE”, “HSDPA”, “HSUPA”, “HSPA”, “LTE”}; } telefon_t; 我不断收到错误expected ; at the end of declaration list expected ; at the end of declaration list 。

如何在纯C中进行正则表达式字符串替换?

我查看了POSIX正则表达式库和PCRE库中的正则表达式函数,但它们都没有字符串替换函数。 我不想使用C ++,如果我不需要链接另一个库(但我可以,如果必须的话),那将是最好的。 我需要手动更换字符串吗? 如果是这样,我该如何使用捕获组?

C:连接字符串的最佳和最快的方法是什么

我目前使用string.h库中的strcat()函数在c中连接字符串。 我想到了,我得出一个结论,它应该是非常昂贵的函数,因为它开始连接之前,它必须迭代char数组,直到它找到’\0’字符。 例如,如果我使用strcat()将字符串”horses” 1000次,我将需要支付(1 + 2 + 3 + … + 1000) * strlen(“horses”) = (1000*1001)/2 * 6 = 3003000 我想到了非标准的方法,维护一个字符串长度的整数,然后发送到strcat()指向字符串末尾的指针: strcat(dest + dest_len, “string”); 在这种情况下,我只需支付1000 * strlen(“horses”) = 1000 * 6 = 6000 。 6000远低于3003000 ,因此如果你进行大量此类连接,它对性能非常关键。 有没有更标准的方法来做到这一点,看起来比我的解决方案更好?

获取(string#)函数跳过第一个获取请求

我正在为自己的个人休闲和学习做一个项目。 部分内容如下: #include #include wgame() { char string3[12], string2[12], string1[12], string4[12], string5[12]; memset (string1, 0, 11); memset (string2, 0, 11); memset (string3, 0, 11); memset (string4, 0, 11); memset (string5, 0, 11); printf(“reference C correct\n”); printf(“Okay, so you want a game. Here’s one for you\n\n\n”); printf(“This is a word game.\n\n A noun is a person […]

查找包含另一个字符串中字符串的所有字符的最小窗口的长度

最近我接受了采访。 我做得不好因为我遇到了以下问题 假设给出了一个序列:ADCBDABCDACD和搜索序列如下:ACD 任务是在给定字符串中查找包含保留顺序的搜索字符串的所有字符的开始和结束索引。 输出 :假设索引从1开始: 开始索引10结束索引12 解释 : 1.start / end index分别不是1/3,因为虽然它们包含字符串但是没有维护订单 2.start / end index分别不是1/5,因为它们虽然包含顺序的字符串,但长度不是最佳的 3.start / end index分别不是6/9,因为它们虽然包含顺序中的字符串但长度不是最佳的 请详细说明如何查找包含给定字符串中所有字符的最小子字符串? 。 但由于订单未得到维护,上述问题不同。 我仍在努力维持索引。 任何帮助,将不胜感激 。 谢谢

用于将文件路径拆分为路径和文件的function

让我们说我有一个function: void split_path_file(char** p, char** f, char *pf) { //malloc and set *p to file path, malloc and set *f to file name //pf is the pointer to the full file and path “C:\sponge\bob\square.pants” // edit: leave pf in its origional state } 什么是实现这一目标的最佳方法?

确定字符串是否包含所有唯一字符?

任何人都可以告诉我如何实现一个程序来检查包含所有唯一字符的字符串?

C中的字符串处理实践

我正在以C(c99)开始一个主要用于文本的新项目。 由于外部项目的限制,这段代码必须非常简单和紧凑,由一个没有外部依赖的源代码文件或除libc和类似普遍存在的系统库之外的库组成。 根据这种理解,什么是最佳实践,陷阱,技巧或其他技术可以帮助使项目的字符串处理更加健壮和安全?