コマンドラインから文字列を取得し、それを逆にして、fork()を使用して個別の子プロセスで各文字を出力するという割り当てがあります。fork()呼び出しから正しい出力が得られないだけです。問題は、インデックスが出力で乱雑になることです。たとえば、3、1、2、0のように、3、2、1,0などです。単語の長さは3文字ですが(常にではありません)、4文字以上の単語では通常正しくありません。ループは、fork()を呼び出さなくても正しく機能します。
これが私の主な機能であり、問題はforループ内に存在します。
int main(int argc, char **argv){
pid_t childpid = 0;
int i;
char* invert = new char[strlen(argv[1])+1];
int invert_length = strlen(argv[1]);
strcpy(invert, argv[1]);
for(i=invert_length-1; i>=0; i--){
childpid = fork();
if(childpid==(pid_t) 0){
//I am the child
cout<<"Child ["<< i <<"] = " << invert[i] <<"."<<endl;
break;
}
}
return 0;
}