[英]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.