追风少年_9 2022-08-14 17:48 采纳率: 78.6%
浏览 169
已结题

strupr()函数编译错误

问题遇到的现象和发生背景

32:行程长度编码
http://noi.openjudge.cn/ch0107/32/

问题相关代码,请勿粘贴截图
#include<bits/stdc++.h>

using namespace std;

int main()
{
 string s;
 getline(cin,s);
 s=strupr(const_cast<char *>(s.c_str()));
 {
        char d=s[i];
        for(int g=1;;g++)
        {
            if(s[i+g]!=d)
            {
                cout<<'('<<d<<','<<g<<')';
                i+=g-1;
                break;
            }
        }
    }
 return 0;
}

运行结果及报错内容

试运行没问题,但在openjudge上:
error: ‘strupr’ was not declared in this scope; did you mean ‘strstr’?

  • 写回答

1条回答 默认 最新

  • 烟雨龙升 2022-08-14 18:18
    关注

    有看到这个,可能是用不了的原因
    兼容性说明:strupr不是标准C库函数,只能在VC中使用。在linux gcc环境下需要自行定义这个函数。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月22日
  • 已采纳回答 8月14日
  • 创建了问题 8月14日