匯東網


scanf 小记

[編輯] [转简体]
|
作者:huidong | 分類:【編程】C/C++
[ 12 瀏覽 0 評論 5 贊 4 踩 ]

概要

正文

要求:获取不定长的输入,含有空格和回车。


如果直接编译出来cmd运行,这个程序一直结束不了,因为是不定长输入,也不知道什么时候该结束。但是如果是提交到OI测评的时候,输入数据尾部其实有EOF,所以是可以结束的。


当时我不知道这个,所以最后写成了这样:

    string strCode;    // 输入内容

    // 读取输入
    while (true)
    {
        char strLine[1024] = { 0 };    // 每行的输入
        gets(strLine);
        char c;
        int r = scanf("%c", &c);
        strCode += strLine;

        if (r == EOF)
        {
            break;
        }
        else
        {
            strCode += "\n";
            strCode += c;
        }
    }

哎呀,惨不忍睹。


简化:

    // 读取整段代码
    char c;
    string strCode;    // 存储输入
    while (scanf("%c",&c) != EOF)
        strCode+=c;


[ 5] [ 4]


 評論區  0 條評論

+ 添加評論