C++求助,为什么CE,求助大神

P1320 压缩技术(续集版)

A_pier @ 2021-09-29 15:49:53

#include<iostream>
#include<math.h>
#include<cstring>
using namespace std;

int main()
{
    char a[40010], str[201], b;
    int i = 0;
    cin >> a; 
    int n = strlen(a);
    for (int i = 1; i < n; i++) {
        cin >> str;
        strcat_s(a, str);
    }
    int sum = 0;
    char flag = '0';
    cout << n << " ";
    for (int i = 0; i <= strlen(a); i++)//为了输出最后一个sum,故设置i<=strlen(a),因为字符数组最后一个字符为空字符,肯定不等,因此输出最后一个sum
    {
        if (a[i]==flag)
            sum++;
        else {
            flag = a[i];
            cout << sum << " ";
            sum = 1;
        }
    }

    return 0;
}

by _XCY_ @ 2021-09-29 18:45:36

又一个MSVC

 strcat_s(a, str);

MSVC 函数

换一下?

strcat(a, str);

by _XCY_ @ 2021-09-29 18:45:59

@A_pier


by A_pier @ 2021-09-29 19:59:22

@XCY ,,,,,,菜鸡看不懂大神说的什么


by A_pier @ 2021-09-29 20:00:53

@XCY 你是要我用strcat或者strcpy吗,但是我的vs2017就运行不了了,说这些是弃用的了 只能用strcat_s,strcpy_s


by _XCY_ @ 2021-09-29 20:09:00

...洛谷是g++编译器

_s函数都是MSVC编译器专供,微软觉得 str系列函数都不安全,全部重写了一遍叫strxxx_s

直接去掉 _s 不本地编译交吧


by _XCY_ @ 2021-09-29 20:14:51

@A_pier


by A_pier @ 2021-09-29 20:59:54

@XCY 好的,谢谢了


|