精华内容
下载资源
问答
  • MySQLIFNULL 函数是 MySQL 控制函数之一,它接受两个参数,如果不是 NULL,则返回第一个参数。 否则,IFNULL 函数返回第二个参数。两个参数可以是文字值或表达式。函数的语法:IFNULL(v1,v2);其中:如果 v1 不 ...

    34e21de35220e384b7920d845cfba71c.png

    MySQL IFNULL 函数是 MySQL 控制流函数之一,它接受两个参数,如果不是 NULL,则返回第一个参数。 否则,IFNULL 函数返回第二个参数。两个参数可以是文字值或表达式。

    函数的语法:

    IFNULL(v1,v2);

    其中:如果 v1 不为 NULL,则 IFNULL 函数返回 v1; 否则返回 v2 的结果。

    示例:

    使用 IFNULL(v1,v2) 函数根据 v1 的取值返回相应值。输入 SQL 语句和执行结果如下。mysql> SELECT IFNULL(5,8),IFNULL(NULL,'OK'),IFNULL(SQRT(-8),'FALSE'),SQRT(-8);

    +-------------+-------------------+--------------------------+----------+

    | IFNULL(5,8) | IFNULL(NULL,'OK') | IFNULL(SQRT(-8),'FALSE') | SQRT(-8) |

    +-------------+-------------------+--------------------------+----------+

    |           5 | OK                | FALSE                    |     NULL |

    +-------------+-------------------+--------------------------+----------+

    1 row in set (0.00 sec)

    由执行结果可以看出,IFNULL(v1,v2) 函数中的参数 v1=5、v2=8,都不为空,即 v1=5 不为空,返回 v1 的值为 5;当 v1=NULL 时,返回 v2 的值,即字符串 'OK';当 v1=SQRT(-8) 时,SQRT(-8) 函数的返回值为NULL,即 v1=NULL,所以返回 v2 为字符串 'false'。

    推荐:MySQL教程

    展开全文
  • 但是我们在用其判断键盘输入是否为直接按了回车时,我们可能会以为我们按回车时系统读取到的是\r\n或者是\r或\n,以此来判断,其实不以为然,经博主的测试,readline方法是具有回车功能的,所以我们按的回车并不是被...

    我们都知道字符缓冲流的readline方法具有一次读取一行的功能,大大方便了我们的读取。

    但是我们在用其判断键盘输入是否为直接按了回车时,我们可能会以为我们按回车时系统读取到的是\r\n或者是\r或\n,以此来判断,其实不以为然,经博主的测试,readline方法是具有回车功能的,所以我们按的回车并不是被它读取成了内容,我们按回车后跳到下一行,其实它读取的内容为空,因为我们什么也没有输入,所以直接判断这个方法是否读取为空即可,错误用法如下↓

    正确的写法为↓

    希望能够帮助到大家。

    展开全文
  • 纠结的输入 回车判断格式问题

    千次阅读 2010-11-15 19:30:00
    C++中怎么判断输入流为空?[问题点数:100分,结帖人:ming001x]   楼主发表于:2010-06-29 23:21:02 请问怎么判断cin中是否为空? 下面把我的测试代码贴上来,有处不懂,请帮忙补充一下 ...

     

    C++中怎么判断输入流为空?[问题点数:100,结帖人:ming001x]
     
    楼主发表于:2010-06-29 23:21:02
    请问怎么判断cin中是否为空?

    下面把我的测试代码贴上来,有处不懂,请帮忙补充一下

    C/C++ code
    #include <iostream>
    #include <string>
    using namespace std;
    
    
    int main()
    {
        string cmd;
        string words;
    
        cin >> cmd;
        if(cmd!="display")
        {
            return 0;
        }
        if(/*cin为空*/)
        {
            cout << "Enter the words to display: ";
        }
        getline(cin, words);
        cout << words << endl;
    
        return 0;
    }



    程序要的是:
    (1)如果只输入"display",就显示"Enter the words to display: ",然后再输入什么,就输出同样的内容;
    (2)如果输入"display hello world!",就直接输出"hello world!";
     
     
     

     

    #1楼 得分:5回复于:2010-06-29 23:30:00
    直接判断words是否为空啊。
     
     

     

    #2楼 得分:5回复于:2010-06-29 23:46:38

    cin是只要读到字符才会执行下去,所以判断是否为空,没什么意义
    C/C++ code
    #include <iostream>
    #include <string>
    #include <stdio.h>
    using namespace std;
    
    
    int main()
    {
        string cmd;
        string words;
    
        cin >> cmd;
        if(cmd.compare("display") == 0)
        {
            cout << "Enter the words to display: "<<endl;
            cin>>words;
            cout << words << endl;
        }
        else if(cmd.compare("display hello world!") == 0)
        {
            cout << "hello world! "<<endl;
        }
        else
        {
            cout << "invalid command "<<endl;
        }
    
        fflush(stdin);
        getchar();
        return 0;
    }

     

     

    #3楼 得分:0回复于:2010-06-29 23:55:32
    学习了
     

     

    #4楼 得分:10回复于:2010-06-30 00:05:36

     

    if(cin.rdbuf()->in_avail()==0)
      {
      cout << "Enter the words to display: ";
      }

    #5楼 得分:5回复于:2010-06-30 08:29:57
    直接getline进来对整个行进行分析,不要对cin进行这么复杂、混乱的处理。
     

     

    #6楼 得分:5回复于:2010-06-30 09:40:23
    C/C++ code
    #include <iostream>
    #include <string>
    using namespace std; 
    //就说感觉你的代码有问题 
    /*(1)如果只输入"display",就显示"Enter the words to display: ",然后再输入什么,就输出同样的内容;
    (2)如果输入"display hello world!",就直接输出"hello world!";*/ 
    int main() 
    { 
    string cmd; 
    string words; 
    
    cin >> cmd; 
    if(cmd!="display") //你给string重载的!=? { 
           return 0; 
    } 
    else if (strcmp(cmd.c_str(), "display hello world!") == 0) 
    {
             cout << "hello world/n"; 
    }//这是不是你想要的? 
    if(/*cin为空*/) //这里我考虑else if(cmd[0] == '/n') 
    { 
              cout << "Enter the words to display: ";
     } 
           getline(cin, words); 
           cout << words << endl; 
    
           return 0; 
    } 
     

     

    #7楼 得分:0回复于:2010-06-30 09:42:18
    倒,要是string连!=都不支持,C++语言还能存在这么久么。
     

     

     

    #9楼 得分:10回复于:2010-06-30 11:05:41
    不用判断输入流空,如果没有输入,一直是等待输入状态。除非你按下ctrl+z回车后是空。
    string判断空可以!="",重载了!=符号了。
     

     

     

    #10楼 得分:0回复于:2010-06-30 11:22:34
    顺便学习下撒~~~~~~~~~
     

     

     
    #11楼 得分:5回复于:2010-06-30 15:41:50

     

    while(1)
    {
      ....
      if(!cin)
      {
      break;
      }
      ....
    }

    #12楼 得分:0回复于:2010-06-30 15:57:29
    引用 7 楼 taodm 的回复:

    倒,要是string连!=都不支持,C++语言还能存在这么久么。

    。。。。。。。。。
     

     

    #13楼 得分:0回复于:2010-06-30 18:00:54
    下面对程序目的(2)进一步说明一下:
    我只是用"display hello world!"这个特例来说明目的,我的目的是当输入的"display"后面还同时有其它内容时,就不要输出"Enter the words to display: ",而是直接输出在"display"后面的内容。


    回复1楼 adventurelw(冒险王)和 5楼taodm(taodm(不能处理站内信)):
    如果我要判断words是否为空,那么我就得在判断words之前先从cin中提取字符串给words。这时如果cin为空(就是在之前只输入"display"的情况下),程序就会进入等待输入状态而没有任何提示,而我是希望程序在这种情况下能输出"Enter the words to display: "的提示信息给我。然后我输入字符串再让它输出。

    回复2楼 zhangweiit(粮草征收人)和 6楼 wyz007134(wyz007134):
    之前我对程序目的(2)说得不够清楚,让大家误会了。我想要的不是固定的"hello world!",而是输入的任意字符串。

    回复4楼 lhcwjy(宏景工作室):
    你的代码我试了一下,不起作用啊。无论我输入怎样,cin.rdbuf()->in_avail()都返回非0值。

    再回复 6楼 wyz007134(wyz007134):
            操作符!=在库文件<string>里有重载的。
               还有:
    C/C++ code
    if(/*cin为空*/) //这里我考虑else if(cmd[0] == '/n') { cout << "Enter the words to display: "; }

    不明白你的思路。

    回复9楼 cattycat(加菲猫) :
    “不用判断输入流空,如果没有输入,一直是等待输入状态。……”
    我就是想在这种等待状态下输出提示信息。

    回复11楼 xianjing1379(xianjing1379):
    不明白你的思路。


    回复大家:
    我的程序中如果将
    C/C++ code
        if(/*cin为空*/)
         { 
                  cout << "Enter the words to display: "; 
        } 

    这句暂时改为
    C/C++ code
     if(1) //这里把条件改为1只是为了能让编译通过并运行而已
     { 
               cout << "Enter the words to display: "; 
     }
    



    的话是可以编译通过并运行的,我的重点是在根据cin中是否还有剩余的内容来决定是否要提示输入信息。
     

     

     

    #14楼 得分:35回复于:2010-07-01 16:51:01
    //如果有过输入的话,输入缓冲区中会残留一个回车字符,改用下面的吧
    if(cin.rdbuf()->in_avail()<2)
      {
      cout << "Enter the words to display: ";
      }


     

     

     

    #15楼 得分:5回复于:2010-07-01 16:56:36
    楼主去试是cin.sync()吧。
     

     

    #16楼 得分:5回复于:2010-07-01 16:58:51
    cin >> s
    if(s.empty())
    {
      ...
    }

    或者:
    cin.clear();

    再者:
    建议看看《C++ primer》输入输出流那一章。

    #17楼 得分:5回复于:2010-07-01 17:02:41
    用if(cin) if(!cin) 就可以了
     

     

    #18楼 得分:0回复于:2010-07-01 22:17:29
    引用 14 楼 lhcwjy 的回复:
    //如果有过输入的话,输入缓冲区中会残留一个回车字符,改用下面的吧
    if(cin.rdbuf()->in_avail()<2)
    {
    cout << "Enter the words to display: ";
    }

    这个可以啊
     

    #19楼 得分:0回复于:2010-07-01 22:48:46
    引用 17 楼 wind_runner 的回复:

    用if(cin) if(!cin) 就可以了

    up............
     

     

     

    #20楼 得分:5回复于:2010-07-01 23:03:59
    char ch;
    int i=0;
    while(cin.getch(ch)){
      if(ch=='/n' && i==0)
      cout<<"No inf entry!"<<endl;
    }
     

     

     

    #21楼 得分:0回复于:2010-07-03 00:04:11
    引用 14 楼 lhcwjy 的回复:
    //如果有过输入的话,输入缓冲区中会残留一个回车字符,改用下面的吧
    if(cin.rdbuf()->in_avail()<2)
    {
    cout << "Enter the words to display: ";
    }


    嗯,谢谢,调通了。


    引用 15 楼 taodm 的回复:
    楼主去试是cin.sync()吧。


    cin.sync()是清空cin,而我只是想判断。cin中的字符我都要保留下来。


    引用 17 楼 wind_runner 的回复:
    用if(cin) if(!cin) 就可以了


    这个我试了下不行啊


    引用 20 楼 huanyouchen 的回复:
    char ch;
    int i=0;
    while(cin.getch(ch)){
    if(ch=='/n' && i==0)
    cout<<"No inf entry!"<<endl;
    }




    cin.getch()会从cin中提取字符,如果照这么做的话'/n'之前的字符都不能保留下来,我希望的不是这样



    最后谢谢大家的帮助。这几天考试,没办法及时回复大家。
     

     

    #22楼 得分:0回复于:2010-07-03 00:08:03
    MS也可以用cin.good
     
     

     

    展开全文
  • Java控制

    2021-02-25 11:10:57
    //通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要是hasNext()与hasNextLine()判断是否还有输入的数据 next() //next()以空白结束符,所以不能获得带有空格的字符串 import java....

    Java控制流

    Scanner对象 接收数据

    //Scanner获取用户输入
    //基础语法
    Scanner s = new Scanner(System.in);
    //通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要是hasNext()与hasNextLine()判断是否还有输入的数据
    
    

    next()

    //next()以空白为结束符,所以不能获得带有空格的字符串
    import java.util.Scanner;
    public class hello1 {
        public static void main(String[] args) {
            //创建扫描器,用于接收键盘数据
            Scanner scanner = new Scanner(System.in);
            System.out.println("使用next方式接收:");
            //判断用户有没有输入字符串
            if (scanner.hasNext()){
                String str = scanner.next();
                System.out.println("输出的内容为:"+str);
            }
            //io流的类如果不关会一直占用资源
            scanner.close(); //用完即关
        }
    }
    

    nextLine()

    //nextLine()以回车为结束符,所以可以获得带有空格的字符串
    import java.util.Scanner;
    public class hello1 {
        public static void main(String[] args) {
            //创建扫描器,用于接收键盘数据
            Scanner scanner = new Scanner(System.in);
            System.out.println("使用next方式接收:");
            //判断用户有没有输入字符串
            if (scanner.hasNextLine()){
                String str = scanner.nextLine();
                System.out.println("输出的内容为:"+str);
            }
            //io流的类如果不关会一直占用资源
            scanner.close(); //用完即关
        }
    }
    

    equals()

    import java.util.Scanner;
    public class hello1 {
        public static void main(String[] args) {
            //创建扫描器,用于接收键盘数据
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入内容:");
            String s = scanner.nextLine();
    
            //equals:判断字符串是否相等
            if(s.equals("Hello")){
                System.out.println(s);
            }
    
            System.out.println("end");
            scanner.close(); //用完即关
        }
    }
    

    switch()

    switch (demo){
        case value:
            //语句
            break;//可选
        case value:
            //语句
            break;//可选
        default://其它情况
            //语句
    }
    

    for()

    //100.for可自动生成100的for循环
    for (int i = 0; i < 100; i++) {
        System.out.println(i);
    }
    
    //死循环
    for(; ; ){
        
    }
    //println输出完换行
    //print输出完不会换行
    
    //遍历数组numbes 赋值给x 条件为真 打印x
    int[] numbers = {10,20,30,40,50};
    for(int x:numbers){
        System.out.println(x);
    }
    

    break continue

    • break:强制退出
    • continue:终止某次循环

    练习

    import java.util.Scanner;
    public class hello1 {
        public static void main(String[] args) {
            //创建扫描器,用于接收键盘数据
            Scanner scanner = new Scanner(System.in);
            double sum = 0;
            int m = 0;
            while (scanner.hasNextDouble()){
                double x =scanner.nextDouble();
                m = m+1;
                sum = sum + x;
                System.out.println("你输入了第"+m+"个数据,当前总和为:"+sum);
            }
            System.out.println(m+"个数的和为:"+sum);
            System.out.println(m+"个数的平均值为:"+(sum/m));
            scanner.close(); //用完即关
        }
    }
    
    展开全文
  • 1.的分类,三种分类方式 2.FileReader例子: hello.txt 代码 注意:1....2.用read函数的返回值判断...3.记得判断fr是否为空,为空将它关闭显然不行。 将上一个案例进行升级,用read的重载方法,每次多读几个字符。
  • =null){ //判断流是否创建 keyIn.close(); } if(brServer!=null){ brServer.close(); } if(ps!=null){ ps.close(); } if(socket!=null){ socket.close(); } } ...
  • 数据输入流和数据输出流以稍加修订的 UTF-8 格式表示 Unicode 字符串。 。。。。。。 这种格式与“标准的”UTF-8 格式的区别如下: Null 字符 '\u0000' 用两个字节而不是一个字节格式编码,所以编码后的字符串...
  • Java字符串解析

    2016-07-09 21:05:36
    流 流是一种有序的数据序列,流提供一条通道程序 从源到内存—叫读 对应—输入 从内存到目的地—写—对应输出 从源到目的地经历—先读—在写 ...方法返回字节数 这可以用来判断流是否为空 同时又
  • 练习6.48

    2018-08-17 15:45:00
    6.48:说明下面这个循环的含义,它对assert的使用合理...Ans:当输入的string对象的值不为空,接着判断是否等于某个阈值,则执行循环体中的内容,最后,当调试器打开后,判断cin输入流是否为空,若为空则输出信息...
  • DAY 6

    2019-05-08 10:25:48
    InputStream字节输入流 输入就是读(将硬盘文件读到Jvm(内存)) OutputStream字节输出流 输出就是写(将jvm数据写到硬盘中...在finally关闭之前,要先判断该引用是否为空 关闭的时候,需要再一次进行try catch处理...
  • 首先判断blob数据是否为空,然后采用输入流读出数据,具体代码如下: 1 String content = null; 2 try { 3 4 if(image != null){ 5 InputStream is = image.getBinaryStream...
  • 数据库Blob 类型转换String

    千次阅读 2017-11-17 14:31:13
    数据库Blob数据类型转String ...首先判断blob数据是否为空,然后采用输入流读出数据,具体代码如下:   1 String content = null; 2 try { 3 4 if(image != null){ 5 InputStream is =
  • 与用户互动

    2017-03-14 16:19:20
    提供多个构造器,接收文件、输入流、字符串作为数据流。 hasNextXxx():是否有下一个输入项,Xxx可基本数据类型。判断是否有下一字符串,采用hasNext() NextXxx():获取下一输入项。 注意:1、Scanner默认空白...
  • C++ 标准库类型 String

    2013-04-02 20:38:36
    一、String类 1、加入 头文件 getline(cin , string): 函数将接受两...empty():判断是否为空。 size(): 返回字符长度,记住任何存储string的size() 结果的变量必须为 string::size_type 类型,不要把size 的返回
  • 判断是否还有输入 程序会等待用户输入 凡是IO的类 用完了之后关闭 以节约内存和空间 scanner.next() 一定读取到有效字符才可以结束输入 ; 以空白结束符 ; next()不能得到带有空格的字符串 scanner.nextLine() /...
  • (3)查询字符串长度和判断字符串是否为空 (4)访问字符串中的单个字符 string可以像数组一样使用,如 string a;cin>>a[i]; 常用操作: getline()函数 两个参数:输入流对象和存放读入字符串的string对...
  • Java基础学习

    2021-01-23 18:04:43
    并且在读取数据之前一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。 next() 一定要读取到有效字符才可以结束输入输入有效字符之前遇到的空白,会将其自动去掉 只有输入有效字符串后才以
  • CCF-CSP认证 201903-4

    2019-09-09 18:53:01
    2、 最后判断所有队列是否为空,来确定是否消去完毕。 对于一行的输入问题,我这里使用的操作,因为这是我想到的最简单的方式了,使用stringstream虽然方便,但是效率较低,但是这道题没有超时问题,我一次提交...
  • 软件构造第七次学习博客——第5、6章知识点总结 PS:补充第5章知识点 1.断言 (1)作用:允许程序在运行时检查...·判断数据结构是否是指定长度 ·判断真值表是否初始化 ·当一个方法开始执行时(或完成时)容器是
  • void search(stupt st,int snum)//判断学号是否合法 { stupt p,q; if(st==NULL) { printf("未建立学生信息表,请返回主菜单输入或导入所有学生的信息\n"); return; } else { p=st; q=p->next; ...
  • 今天学习了 异常处理 不太会 就自己临摹了一遍 异常处理 用户不正当的输入 ... 判断一个对象是否为空,使用 null != str 在程序方法设计,特别是方法的实现中,对于传入的参数,是不可知的,...
  • C++ String

    2016-09-13 10:35:56
    string 的操作string s;...s.empty() 判断s是否为空 s.size() 返回s中的字符个数,实际上返回的类型是string::size_type,它是一个无符号类型值(unsigned),所以一定要避免和有符号类型值进行比较(比如
  • 1. 什么是JavaScript?...JavaScript用于网页和用户之间的交互,比如提交的时候,进行用户名是否为空判断。 完整的javascript由语言基础,BOM和DOM组成。 2. 通过JavaScript向文档中输入文本 ...
  • isEmpty : 判断数组是否为空 search : 在数组objects中搜索元素element selectSort : 选择排序 insertSort : 插入排序 bubbleSort : 冒泡排序 recursiveSort : 递归快速排序 fastStackSort : 栈快速排序 upsideDown ...
  • 面试题19:二叉树的镜像:需要判断输入的结点为空或者输入的结点没有子树的情况。 面试题20:顺时针打印矩阵:首先需要判断每一步开始是的坐标点是否满足小于行数的一半且小于列数的一半,在最后一圈中,可能出现仅...
  • 如果我将指针值设0,编译器可能会自动将它转换非零的指针内部表示。 5.20运行时的“nullpointerassignment”错误是什么意思?应该怎样捕捉它? 第6章 数组和指针 数组和指针的基本关系 6.1 我在一个源文件中...
  • 如果我将指针值设0,编译器可能会自动将它转换非零的指针内部表示。 62  5.20 运行时的“null pointer assignment”错误是什么意思?应该怎样捕捉它? 62 第6章 数组和指针 63 数组和指针的基本关系 ...
  • 《你必须知道的495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    内容简介 《你必须知道的495个C语言问题》以问答的形式组织内容,讨论了学习或使用C语言的过程中经常遇到的一些问题。书中列出了C用户经常问的400多个...5.18 运行时的整数值0转换指针以后一定是指针吗? 61 5.19...
  • |字段名| 字段类型| 是否为空| 备注 |:------:|:------:|:------:|:------:| | Id| Int(11) | 否| 主键 |Modify| Datetime| 是| 修改时间 |Display| Int | 否| 是否被删除 |Uid| Int | 否| 用户id |Qid| Int | ...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 130
精华内容 52
关键字:

判断输入流是否为空