Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 子串到数组中_C++_Arrays_String_Substr - Fatal编程技术网

C++ 子串到数组中

C++ 子串到数组中,c++,arrays,string,substr,C++,Arrays,String,Substr,我有个问题。 我想将substr函数的结果插入数组中,但它并没有从头到尾读取我的字符串,而是省略了其中的大部分,并在末尾开始读取。而且它没有将reult正确地放入数组中-每个数组单元格都包含相同的子字符串 我正在使用结构。这是我代码的一部分,输入如下: TTGATTCTAGGGAGGGAGGCTGGCAAGGCTCCGGAAGCAGCATCAGATTAAAAATTACTGGACCTGATCTTT 代码呢 结构sekwencja struct sekwencja { string se

我有个问题。 我想将substr函数的结果插入数组中,但它并没有从头到尾读取我的字符串,而是省略了其中的大部分,并在末尾开始读取。而且它没有将reult正确地放入数组中-每个数组单元格都包含相同的子字符串 我正在使用结构。这是我代码的一部分,输入如下:

TTGATTCTAGGGAGGGAGGCTGGCAAGGCTCCGGAAGCAGCATCAGATTAAAAATTACTGGACCTGATCTTT

代码呢

结构sekwencja

    struct sekwencja
{
  string sekwencja;
  string etykieta[10000];
  int jakosc[200];
  int dlugosc;
  string idf;
  string idq;
}sek[100];

(...)

sek[i].dlugosc=sek[i].sekwencja.length();

(...)

cout<<"give the length of substring"<<endl;
cin>>h;

for (int i=0;i<7;i++)
{
    for (int a=1; a<sek[i].dlugosc-1; a++)
    {
      if(sek[i].sekwencja.substr(a,h).length()==h){
          for(int b=0;b<sek[i].dlugosc-1+h;b++)
        {
            sek[i].etykieta[b]=sek[i].sekwencja.substr(a,h);
          }
          }
}
}
struct sekwencja
{
字符串sekwencja;
字符串etykieta[10000];
int jakosc[200];
int dlugosc;
字符串idf;
字符串idq;
}瑞典克朗[100];
(...)
sek[i].dlugosc=sek[i].sekwencja.length();
(...)

cout首先,请注意,创建一个子字符串实际上创建了一个子字符串,该子字符串由原始字符的副本组成。如果你现在想知道If
s.substr(a,h).size()==h
你最好测试If
s.size()数组的类型是什么?为什么你使用数组而不是
std::vector
struct sekwencja{string sekwencja;string etykieta[1000];int jakosc[200];int dlugosc;string idf;string idq;}sek[100]我没有使用vector,因为在我的程序结束时,我必须给出子字符串来自哪个序列(文件中有7个)的信息
int b=0;
string etykieta [1000];
for (int i=0;i<7;i++)
{
    for(int a=0;a<sek[i].dlugosc;a++)
    {
            etykieta[b]=sek[i].sekwencja.substr(a,h);
            b++;
}
}
int b=0;
string etykieta [1000];
for (int i=0;i<7;i++)
{
    for(int a=0;a<sek[i].dlugosc;a++)
    {
            sek[i].etykieta[b]=sek[i].sekwencja.substr(a,h);
            b++;
}
}
sek[i].sekencja.substr(a, h)