Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用C语言演奏弦乐_C_String_Input_Char_Scanf - Fatal编程技术网

用C语言演奏弦乐

用C语言演奏弦乐,c,string,input,char,scanf,C,String,Input,Char,Scanf,下面是一个文件的输入,我通过重定向将其作为C程序的标准输入。如何跳过从和$开始的行,并像从MNLQRF..开始那样在一个动态长度为的字符串中进行输入 >pair 1 MNLQRFPRHPLTFGPTPIQPLKRLSAHLGGQVELYAKREDCNSGLAFGGNKTRKLEYLIP EALAQGCDTLVSIGGIQSNQTRQVAAVAAHLGMKCVLVQENWVNYSDAVYDRVGNIEMSR ILGADVRLDAAGFDIGIRPSWEQAMADVRAAGGKPFPIPAGC

下面是一个文件的输入,我通过重定向将其作为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()
    (或POSIX系统上的可选
    readline()
    )读取每一行
  • 看一看所读行的第一个字符,决定是否要注意

  • 没有标准的C函数可以根据行的第一个字符跳过行。

    开始读取文件,每行使用带前导和任何尾随空格。如果第一个字符是
    &
    $
    ,则继续阅读下一行

    编辑:


    写一些代码,然后带着代码的特定问题返回。我们不是来为您编写代码的。顺便说一句,如果你是血缘开发者-证明伊萨哈。。我喜欢这种嘲弄。等待将分享我所写的可以工作。但这是一个标准的输入。fgets将如何工作?它的参数中有文件指针,对吗?使用
    fgets(buffer,sizeof(buffer),stdin)
    使用
    fgets()
    读取
    stdin
    (又称标准输入)。您可以使用
    fprintf(stdout,…)
    打印到标准输出,尽管这通常被认为是不正确的,但您必须使用
    fprintf(stderr,…)
    打印到标准错误。标准输入的情况是类似的。同样的疑问。这是一个标准输入。fgets将如何工作?它的参数中有文件指针,对吗?fgets(缓冲区、大小、标准输入)有效吗?有效。谢谢:)不过,提出这样的疑问是可耻的。我很喜欢这个论坛,因为它有非常有才华的人来帮助解决僵局:)@DeveloperbyBlood是的。但看看答案。
    char input[100]; // YOu can decide on the size of line
    if (fgets(input, sizeof input, stdin) == NULL) {
      ;  // handle EOF
    }