標準入力から文字列を読み取り、いくつかの操作を実行する必要があります。その間に、入力の一部をchar配列にコピーする必要があります。C ++では、次のように実行できます。
scanf("%s", &array[pos]);
文字列を位置のs
charにコピーします。私はこれを非常に迅速に行う必要があります(オリンピックのタスク)。C++での1つの大きな読み取りには5秒かかりました。C#では、ループを使用して配列にコピーしようとしましたが、70秒かかりました。これは長すぎます。また、string.ToCharArray()を使用するよりも、1つの大きな文字列を作成することはお勧めできません。それを行う方法はありますか?array
pos
string.elementAt()
char[] ciag = new char[1010001];
for(int x = 0 ; x < n ; x++){
line = Console.ReadLine();
sekw[x] = poz;
len = int.Parse(line.Split(' ')[0]); //length of string to copy
string znaki = line.Split(' ')[1]; //copied string
for (int j = 0; j < len; j++)
{
ciag[poz + j] = znaki[j]; //put into array. Perhaps slow.
}
poz += len;
ciag[poz++] = 'k'; //my stuff
}