gpt4 book ai didi

c - 将字符串拆分为一定大小的 char 数组

转载 作者:太空宇宙 更新时间:2023-11-04 06:04:28 25 4
gpt4 key购买 nike

我是 C 语言编程的新手,所以我不了解如何为流程工作。

我有一个结构定义如下。

struct codons
{
char amino_acid[20], slc[20], dna_codon[40];
};

struct codons c1 = {"Isoleucine", "I", "ATT, ATC, ATA"};
struct codons c2 = {"Leucine", "L", "CTT, CTC, CTA, CTG, TTA, TTG"};

用户必须输入字符串序列。例如:

printf("Enter the sentence: ");
gets(str);

如果用户输入如下字符串:

ATTCTGCTTTTA

然后我必须将这个字符串转换为 3char 长度的字符串,例如

ATT, CTG, CTT, etc.   

然后,我必须检查这个由 3 个字符组成的短字符串是否存在于 not 结构中。

我不知道如何将字符串转换为 3char 字符串长度并进行检查。
谁能给我一些建议?

最佳答案

要获取字符串的前 3 个字符,只需分配该大小的缓冲区并将这些字符放在那里:

char substring[4];
strncpy(substring, input, 3);
char substring[3] = '\0';

然后使用strstr检查字符串“possibilities”是否包含子串:

if (strstr(possibilities, substring) != NULL)
// ...

(你没有像评论说的那样发布结构定义,所以我对“可能性”的真实名称再准确不过了)

如果你想继续,只需做一些指针运算并重复所有过程:

strncpy(substring, input + 3, 3)
// and so on...

(哈哈,我读的是“避孕套”)

关于c - 将字符串拆分为一定大小的 char 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13048917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com