下面是一个文件的输入,我将其作为 C 程序的通过重定向的标准输入。如何跳过从 >
开始的行和$
并接受从 MNLQRF..
开始的输入在一个具有动态长度的字符串中?
>pair 1
MNLQRFPRHPLTFGPTPIQPLKRLSAHLGGQVELYAKREDCNSGLAFGGNKTRKLEYLIP
EALAQGCDTLVSIGGIQSNQTRQVAAVAAHLGMKCVLVQENWVNYSDAVYDRVGNIEMSR
ILGADVRLDAAGFDIGIRPSWEQAMADVRAAGGKPFPIPAGCSEHRLGGLGFVGFAEEVR
AQEAELGFKFDYIVVCSVTGSTQAGMVVGFAADGRAERVIGIDASAKPEQTHAQILRIAQ
NTAELVGLGREITAQDVVLDTRYGGPEYGLPSEGTLEAIRLCARQEGMLTDPVYEGKSMH
GMIDKVKRGEFPAGSRVLYAHLGGVPALNAYSFLFRNG
$
MMRGFKQRLIKKTTGSSSSSSSKKKDKEKEKEKSSTTSSTSKKPASASSSSHGTTHSSAS
STGSKSTTEKGKQSGSVPSQGKHHSSSTSKTKTATTPSSSSSSSRSSSVSRSGSSSTKKT
SSRKGQEQSKQSQQPSQSQKQGSSSSSAAIMNPTPVLTVTKDDKSTSGEDHAHPTLLGAV
SAVPSSPISNASGTAVSSDVENGNSNNNNMNINTSNTQDANHASSQSIDIPRSSHSFERL
PTPTKLNPDTDLELIKTPQRHSSSRFEPSRYTPLTKLPNFNEVSPEERIPLFIAKVDQCN
TMFDFNDPSFDIQGKEIKRSTLDELIEFLVTNRFTYTNEMYAHVVNMFKINLFRPIPPPV
NPVGDIYDPDEDEPVNELAWPHMQAVYEFFLRFVESPDFNHQIAKQYIDQDFILKLLELF
DSEDIRERDCLKTTLHRIYGKFLSLRSFIRRSMNNIFLQFIYETEKFNGVAELLEILGSI
INGFALPLKEEHKVFLVRILIPLHKVRCLSLYHPQLAYCIVQFLEKDPLLTEEVVMGLLR
YWPKINSTKEIMFLNEIEDIFEVIEPLEFIKVEVPLFVQLAKCISSPHFQVAEKVLSYWN
NEYFLNLCIENAEVILPIIFPALYELTSQLELDTANGEDSISDPYMLVEQAINSGSWNRA
IHAMAFKALKIFLETNPVLYENCNALYLSSVKETQQRKVQREENWSKLEEYVKNLRINND
KDQYTIKNPELRNSFNTASENNTLNEENENDCDSEIQ
$$
所以就像刚刚读过 MNLQRF..
和MMRGFKQ..
分成两个不同的字符串,忽略所有其他噪声数据。
请帮助!!
最佳答案
使用 fgets() 开始读取文件的每一行,去除前导和任何尾随空格。如果第一个字符是 >
和 $
则继续阅读下一行。
编辑:
char input[100]; // YOu can decide on the size of line
if (fgets(input, sizeof input, stdin) == NULL) {
; // handle EOF
}
关于c - 用 C 语言演奏弦乐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21918149/