c++运行函数错误,目测是.c_str的问题。求改正方案

   更新日期:2024.05.02
cin >> keyword[20];

改成

cin >> keyword;


你的代码不全,因为这段代码好像涉及到类或结构,不知道你是怎样设计的。
但是有个建议:
if(a=strcmp(good[i].name.c_str(),keyword)==0)

改为:if(a==strcmp(good[i].name.c_str(),keyword)==0)

strcmp返回值是0或1;
在条件语句中赋值(a=0或a=1恒真或恒假)好像并不能作为判定的表达式。
a==(...)才符合逻辑表达式的形式。

(a=strcmp(good[i].name定义的时候确定这是一个string对象吗?

  • 19837168256 :c++运行函数错误,目测是.c_str的问题。求改正方案
    离史若3005 :答:cin >> keyword[20];改成cin >> keyword;
  • 19837168256 :c语言编程,编译无错,运行出错
    离史若3005 :答:1 你所谓的运行时问题,即栈溢出(stack overflow), 解决方法是使用c语言的malloc函数(相当于C++的new操作符)在堆上分配内存(当然最后根据输出文件的答案来看,你确实数据给大了)2 逻辑问题,如楼上各楼所说:s[i]=...
  • 19837168256 :c语言编程中字符串复制函数编程程序出现错误,这是怎么回事?
    离史若3005 :答:这里原因是gets函数不安全,visual studio的后续产品已经不再支持此类函数,可以换成fgets(str1, sizeof(str1), stdin);第一个参数是,字符存储地址,第二个是最大内存大小,第三个是从哪里读取,stdin是从键盘,也可以是...
  • 19837168256 :c语言max函数错误,提示c4013
    离史若3005 :答:1. 把main函数所有内容整体剪切到程序最后(即max和min函数之后)2. 在main函数之前加两句话,来申明max和min函数。添加的语句是:int max(int a, int b);//注意结尾都要有分号,才是申明 int min(int a, int b)...
  • 19837168256 :C语言查错,运行有一处错误?
    离史若3005 :答:您好,很高兴回答您的问题。根据您的错误提示,确认错误原因是fun函数没有定义。这里并不是说fun真的没有定义,而是说c语言中,无论程序多长、无论主函数在哪里,系统都是找到主函数运行。其余的函数只有当在主函数中需要...
  • 19837168256 :求高手帮忙,C语言图像函数运行的时候有错误。
    离史若3005 :答:求高手帮忙,C语言图像函数运行的时候有错误。 #include<graphics.h>/*头文件为graphics.h*/main(){intgdriver=DETECT,gmode;initgraph(&gdriver,&gmode,"");/*使用initgraph函数进行图形初始化*/line(100,300,300,300);/*使用...
  • 19837168256 :在C语言中运行程序时最常出现的有那些错误?
    离史若3005 :答:l 类型不匹配的问题。(例如:有float a=3.5,但输出的时候printf(“a=%d”,a);则屏幕上会显示出a=0.00000或者提示其它运行错误)。基本原则是:float对应%f, int对应%d, char对应%c。l 个数不匹配。无论是...
  • 19837168256 :C语言函数指针变量运行错误
    离史若3005 :答:{ int (*pmax)(int,int);//指向具有两个变量的函数指针,这样就可以了 int x,y,z;pmax = max;printf("input two numbers:\n");scanf("%d%d",&x,&y);z=(*pmax)(x,y);printf("maxmum=%d\n",z);} ...
  • 19837168256 :TEST.C(116): error C237: '_delay': function already has a bod...
    离史若3005 :答:Function already has a body指的是函数已经被定义过了。出现这种错误的原因主要是你定义了相同函数名字的函数。比方说你在MAIN.C里面定义了delay()函数。然后在APP.C里面又定义一个delay()函数。则会出现这种警告或错误...
  • 19837168256 :C语言strcpy函数错误是什么样子的?
    离史若3005 :答:s3未初始化,没有指向任何一片空间,C错误,B、D正常操作。C 语言和 C++语言风格轻松、灵活,语法限制宽松,因而受到各类程序员的欢迎,是比较通用的编程语言,同时也是各大院校计算机专业的基本语言课程。strcpy 函数由于不对...
  • 相关链接

    欢迎反馈与建议,请联系电邮
    2024 © 视觉网