簡體   English   中英

C++ 指向 char 數組中特定位置的指針數組

[英]C++ pointer array to specific location in char array

我有一個項目的問題。 它正在生成 C++ 代碼來編輯文件,但我堅持了一件事。 該文件存儲在一個 char 數組中,我希望在 char 數組中有一個指向特定 position 的指針數組,但我只得到一個指向數組中一個字符的指針。 我想要的是這樣的,但是在一個非常大的數組上:

    char array[] = "Hello, how are you?";
    char* ptr = &array[7];
    *ptr = "who";
    std::cout << array << std::endl;

//Hello, who are you?

這是一個愚蠢的例子,但我希望它描述了我正在嘗試做的事情。

目前我只能這樣做:

    char array[] = "Hello, how are you?";
    char* ptr = &array[7];
    *(ptr) = 'w';
    *(ptr+1) = 'h';
    *(ptr+2) = 'o';
    std::cout << array << std::endl;

//Hello, who are you?

但這並不容易處理。 我想要一個指針數組,以便編輯數組的各個部分。

我非常感謝任何建議!

您的直接問題可以這樣解決:

#include <cstring> // std::memcpy

char array[] = "Hello, how are you?";
char* ptr = &array[7];
std::memcpy(ptr, "who", 3);       // copy 3 chars from the character literal "who" to ptr
std::cout << array << std::endl;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM