Tag: 子串

在C中制作金字塔

我必须使用C,而不是C ++制作金字塔。 我要做的就是这个,我有一个字符串“这是一个字符串”(是的,空间假设在那里),我必须从两边“删除”一个字母,并打印出来。 像这样 “this is a string ” “his is a string” “is a strin” “sa stri” ” a str” 重复此过程,直到没有更多字符。 我的老师说要使用子串,C中有没有说过的东西 从位置打印(索引0到索引x) 从位置打印(索引1到索引x-1) 我知道我必须使用for循环。

在分隔符处拆分字符串并将子字符串存储在C中的char **数组中

我想编写一个函数,通过第一次出现的逗号将用户在命令行上给出的字符串拆分并放入数组中。 这是我尝试过的: char**split_comma(const str *s) { char *s_copy = s; char *comma = strchr(s_copy, “,”); char **array[2]; *(array[0]) = strtok(s_copy, comma); *(array[1]) = strtok(NULL,comma); return array; } 这是主要function: int main(int argc, char **argv) { char **r = split_comma(argv[1]); printf(“substring 1: %s, substring 2: %s\n”, r[0],r[1]); return 0; } 有人可以给我一些见解,为什么这不起作用?

在C中帮助这个参差不齐的数组/子串程序?

所以,我有一个长度为200的不规则数组(称为名称)。数组中的每个指针指向一个不超过50个字符且没有空格的字符串。 我还有一个字符串,通过名为inname的用户输入给出,长度为50,inname将是存储在名称中的字符串之一。 我需要找到一种方法来遍历我的参差不齐的数组中的字符串,并找到最大子字符串与inname重叠的字符串,不包括inname本身,因为它将在文件中。 如果没有字符串有重叠,那么我们打印出“无建议”。 我一直在融化试图解决这个问题好几个小时了,有帮助吗? O :)所以基本上,程序在数组中找到最大子字符串与inname重叠的名称。 如果需要,将进行编辑以提供其他信息

从时间戳中提取时间

我正在尝试从ISO8601时间戳中提取时间段。 例如,从下面的timstamp “0001-01-01T17:45:33″我想提取这部分”17:45:33” 。

删除子字符串中给定位置的C中的子字符串

假设我有一个包含20个字符的char *example 。 我想删除example[5]到example[10]中的每个字符,然后修复数组,以便example[11]紧跟在example[4] 。 基本上将删除区域后的所有字符移动到删除区域开始时。 有任何想法吗? 编辑:我认为使用memcpy可能有一种方法? 但我不知道该怎么做。