美文网首页
C控制台读取多行字符串

C控制台读取多行字符串

作者: crossover_9324 | 来源:发表于2017-10-29 23:13 被阅读206次

笔主今日去笔试,第一道编程题十分简单,但编译器就是无法通过。原因就出在多行字符串的读取之上。

#include "stdafx.h"
#include<stdlib.h>
int _tmain(int argc, _TCHAR* argv[])
{
    char c[20] ;
    scanf_s("%d", &N);
    for (int i = 0; i < N;i++)
    {
        scanf_s("%s", c);
    }
        system("pause");
    return 0;   
}

以上代码无法获得正确的输入,应该是由于scanf不能接受空格、制表符Tab、回车等,所以转而使用gets。

#include "stdafx.h"
#include<stdlib.h>
int _tmain(int argc, _TCHAR* argv[])
{
    char c[20] ;
    scanf_s("%d", &N);
    getchar();
 /*scanf()函数接受输入以后,回车被保存在输入流中了, 在scanf()后面加一个getchar()就好了。 这样会吃 掉多余的回车符,后面的gets()就可以接受输入了。*/  
    for (int i = 0; i < N;i++)
    {
        gets_s(c);
    }
        system("pause");
    return 0;   
}

//参考http://blog.csdn.net/svap1/article/details/42740509?locationNum=14&fps=1

相关文章

  • C控制台读取多行字符串

    笔主今日去笔试,第一道编程题十分简单,但编译器就是无法通过。原因就出在多行字符串的读取之上。 以上代码无法获得正确...

  • [C++]stringstream的用法

    背景 在实现一个从文件种读取多行int型数据过程中,发现C++的标准输入cin读出的值为字符串,无法直接以int类...

  • redis 数据结构

    String 数据结构 示例 这里就可以存储"Redis C",而C只能读取Redis字符串 对C字符串和SDS之...

  • shell教程笔记1

    本人博客同步发表,排版更佳 echo、读取输入、多行注释 字符串、数组 计算与比较 变量、脚本入参 printf ...

  • C/C++读取固定格式文件(每一行以空格分开)

    例如文件如下 直接以数据对应的格式(int)读取(不需要以字符串读取在转为int) C语言读取 读取结果如下

  • C++ 读取txt,csv文件

    1、C++ 读取txt文件 2、C++ 读取csv文件附上一个分割字符串的功能函数,根据自己情况修改吧

  • 《C++ Primer Plus》:复合类型

    本章内容概览: 数组 C风格字符串 string类字符串 getline()和get()读取字符串 结构体 共用体...

  • libpng error: CgBI: unhandled cr

    背景 在使用OpenCV的imgcodecs类进行读取图片时,控制台打印出现了错误:libpng error: C...

  • C++常用代码

    读入多行内容 读取8进制和16进制数 字符串分割 对map按value排序 sort函数的比较函数 string转...

  • TypeScript学习

    字符串的新特性 多行字符串 使用``实现多行字符串 编译成js代码为: 字符串模板 其实和多行字符串差不多 编译j...

网友评论

      本文标题:C控制台读取多行字符串

      本文链接:https://www.haomeiwen.com/subject/rrpupxtx.html