C++ – stdio 与 string 的坑点

#include <cstdio>
#include <string>
#include <cstring>
using namespace std;
const int MAXN = 1e5 + 100;
int main() {
    int temp;
    scanf("%d", &temp);
    getchar();                     //如果在读入非字符串后要读入字符串,先吃回车
    string str;
    str.resize(MAXN);              //需要先开空间[设置字符串初始内存长度]
    scanf("%s", &str[0]);          //必须这样对str的0号元素取地址
    int len = strlen(str.c_str()); //先开了空间,必须这样取长度[时间复杂度O(N)]
    str = " " + str;               //要想下标从1开始请这样处理
    printf("%s", str.c_str());     //输出时先转char数组
    return 0;
}

发表回复