我有一個字符串對象,真的很長,我想引用它的窗口[0,19],[1,20],... ..,[980,1000]爲char x[20]
。如何從一個非常長的C++字符串做char * kmers
讓我們打電話給我們的字符串foo
。我試過
x = &foo[i]
和迭代,但我得到一個不兼容的類型錯誤,因爲&foo[i]
是char *
類型。
我該如何使用char x[20]
來引用我們字符串foo的內存的20個字符塊?
更具哲理性的是,如果後者不是空終止,char *x
和char x[20]
之間有什麼區別?
通過爲所有新字符創建全新的內存塊,一個目標不是必須具有2倍的內存要求。
謝謝,但我需要的類型是char *或焦炭X [20 ] – Deniz
@Deniz:有一個成員函數'data()'給你一個const char *。 –
感謝您的回答,但我相信這並沒有達到目標;因爲當我使用「data()」時,指針/內存塊是否存在?這個想法是能夠將一個char *傳遞給一個函數,作爲一個指向我更持久的長字符串的指針,但只能指向窗口中的前20個字符。可能是不可能的。 – Deniz