在字符串中添加行號時出現錯誤“檢測到堆棧粉碎”

戴澤先生

我將一個字符串作為函數的輸入,並且我試圖在字符串中的每個新行之前添加行號。我也返回一個字符串,但它不斷給我這個錯誤:stack smashing detected

這是代碼:

string prepend(string code) {
    string arr;
    int i = 0;
    int j = 0;
    int count = 100;    
    while (code[i] != '\0') {
        if (j == 0) {
            arr[j] = count;
            arr[j + 3] = ' ';
            j = j + 4;
        }
        if (code[i] == '\n') {
            arr[j + 1] = count;
            arr[j + 3] = ' ';
            j = j + 4;
        }
        arr[j] = code[i];
        i++;
        j++;
        count++;
    }
    
    return arr;
}
巴克

您的代碼中有幾個錯誤,

  1. 你應該轉換intstring使用to_string()
  2. 你應該string使用它的size()......
#include <iostream>
#include <string>

using namespace std;

string prepend(string code) {
    string arr;
    int count = 1;
    arr += to_string(count++) + " ";
    for (size_t i = 0; i < code.size(); ++i) {
        arr += code[i];
        if (code[i] == '\n') {
            arr += to_string(count++) + " ";
        }
    }
    return arr;
}

int main(int argc, char **argv) {
    string code = "a\nbc\nd ef g\n\n";
    cout << prepend(code);

    return 0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用堆棧類將中綴形式轉換為前綴形式時出現代碼錯誤

嘗試啟動 Flask 應用程序時出現導入錯誤,但未打印堆棧跟踪

字符串函數的副本和變量周圍的錯誤堆棧已損壞

在 JNI Android 的 C++ 中使用 memset 時檢測到堆棧損壞

為什麼我在嘗試使用 fin2.seekg(-2 * sizeof(int), ios::cur) 從末尾到中間讀取文件時出現奇怪的錯誤;? 沒有字符串

堆棧實現給出了段錯誤

Python:將np數組擬合到模型中時出現“無法將字符串轉換為浮點數”錯誤

python會拋出“堆棧溢出”錯誤嗎?

模板化字符串時出現模板錯誤:預期的名稱或數字。字符串:使用 Ansible 讀取 JSON 時

為什麼在堆棧中彈出時get找不到符號

檢查字符串中的 dlang 不兼容類型錯誤

在 Django 中,為什麼會出現錯誤“/字符串索引處的類型錯誤必須是整數”?

使用不和諧機器人將多行字符串作為消息發送時出現佈局錯誤

嘗試將兩個字符串鏈接在一起時緩衝區溢出,為什麼會出現此錯誤?

錯誤 TS2300:將我的 Nodejs 代碼遷移到 TypeScript 時出現重複的標識符“字符串”

嘗試運行函數時出現意外的符號錯誤

Golang:致命錯誤:運行時執行期間出現意外信號

啟動 httpd (mac) 時出現“找不到符號”錯誤

Pytesseract 圖像到 Colab 中的字符串錯誤消息

在 Rust 中遍歷 json 時出現錯誤

通過 do shell 腳本刪除 unicode 字符時出現問題,錯誤 <文本> 編號 1

Linux 工具 dc 給出“堆棧下溢”錯誤

SWI Prolog 列表減法給出錯誤:超出本地堆棧

由於操作超時錯誤,Pulumi 堆棧更新失敗

如何檢查字符串中某個範圍的出現?

AutoMapper - 試圖將我的對象屬性扁平化為字符串,但出現錯誤

呈現錯誤:文本字符串必須在 <Text> 組件中呈現

Laravel Eloquent / 多對多關係給出錯誤(數組到字符串的轉換)

在測試中使用 unique_ptr 時出現無效指針錯誤