32W(2020082-20200808)

2020.08.03

20200806

  • string的compare()方法用来比较字符串

    • 最好用==0来判断是否相等,之前在网上看了有>0判断不相等,自己在Clion上试了一下,显示结果不错,在cppreference上看了一下,确实有返回-1的情况。
  • where语句中or的情况,必须要加上()

    • select count(*) from table t where t.state='I' or t.state='C' AND t.age = 20;
    • select count(*) from table t where (t.state='I' or t.state='C') AND t.age = 20; 加上括号才行。
  • *都是回来再想想,才觉得代码写得不对。

33W(20200809-20200815)

20200810

20200811

  • 更新表的一行

    • update 表名 t set t.state = 'I' where t.file_id=56841126;commit; 之前老是手改,还是用语句改吧,增加一点知识
    • SQL UPDATE语句

20200812

20200813

  • 十进制转二进制itoa()

    • char binary[2560]; itoa(num, binary, 2);//只是windows特有的;,linux中用sprintf(),但不支持二进制的
  • while(cin >> s)

    • 刷题的时候,自已在IDE写的时候是对的,提交上去就不行,发现是这个问题。甚至还有点以为是s.length()s.size()两个有啥区别呢。
  • CPP输入字符串中带有空格的情况getline(cin,s)

    • 刷题的时候看的。

20200814

  • oracle中的to_char()

    • select * from file_name a where to_char(a.start_time,'yyyymmdd')>='20200801' and a.id=464; 自已搜时间方面,真的不多,这样mark下吧

34W(20200816-20200822)

20200818

  • strlen(p)中p为空时会core掉。

    • 确认现场问题时,由于现场文件中没有配置.分隔符,我们用strrchr('.')没有找到,这样返回值为空,再求strlen()时,就core掉了。
    • 抽象写了个strlen(p)空的例子,果然core掉了,提示“0x00002ad18d446412 in __strlen_sse42 () from /lib64/libc.so.6”。

20200819

  • sprintf(sFileName,iNum,"%s%s",sFileName,sDate)如果是源拷贝的话,会把sFileName给抛弃掉。

    • 但我用vs试的时候,用的是sprintf_s()没出现这个问题。
    • 最后还是用了临时变量char sFimeNameTmp[256],代替了之前的sFileName才解决的。后面空了再看一下manual吧

20200820

35W(20200823-20200829)

20200828

  • 问题1:虚函数没有完全搞懂,以及纯虚函数这个要自己整理一下,尤其要写代码运行一下。
  • 问题2:ulimit -c 1024已经设置了,但还是没有看到core文件,这个暂时挂起了,自己知道core的原因了

im天行
35 声望198 粉丝