我有一个字符串对象,真的很长,我想引用它的窗口[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