-2
現在、あるchar配列を別のchar配列にコピーしようとしています。私がそうしようとすると、私は1つの配列の大部分を切り捨てて、 "ed"を受け取ることになります。その結果、私のarr2 []の最後の3文字です。私は組み込みの関数を使用することは許されていないので、これを最初からやってみようとしていますが、私はこの問題に直面しています。任意のヒント?ある文字配列を別の文字配列にコピーしようとするときの問題
#include <iostream>
#include "Print.h"
using namespace std;
void Copy(char arr1[], char arr2[]);
int main(){
char arr1[] = {"Hello how are you? \0 hiii"};
char arr2[] = { "The weather was cloudy today, so it rained. \0" };
char arr3[] = { "Coffee is a great way to start the day. \0" };
Print(arr1);
Copy(arr2, arr3);
}
void Copy(char cloud[], char coffee[]){
while (*coffee != '\0')
{
*cloud = *coffee++;
++cloud;
}
cout << cloud << endl;
}
私のプログラムにある別の機能については、問題はなく、配列を出力します。私はCopy()関数を働かせようとすることに集中しています。 – Tiramisu
コピー後に文字列を終了させるには、おそらく ''\ 0' 'を追加する必要があります。あなたがやっていることは危険で、間違いやすいです。 –
ループの最後に、 'cloud'が最後を指しているので、' cout << cloud'は役に立ちません。 –