char cmd[256];
memset(cmd,0,256);
sprintf(cmd, "cp %s %s", "test1.txt", "test2.txt");
system(cmd);
printf("cmd completed\n");
私は上記のコードを実行すると、私のアプリケーションは、システムコールでハングアップします。私は決してprintf行に行きません。私はGCCコンパイラを使ってLinux CentOSを走っています。system()を使ってファイルをコピーすると( "cp"で)返されることはありませんか?
何か助けていただければ幸いです。
上記のコードを別のアプリケーションで実行すると(メインのコピー貼り付け)。それは正常に動作します。
私はgdbに接続し、プログラムがハングしている場所を見ることをお勧めします。 – dbeer
あなたは 'BUFSIZ'の定義と#includesを含む完全なコンパイル可能な例を記述する必要があります。 –
ユーザの入力を待っている可能性があります – m0skit0