私は動作するこのコードを持っています (それは少し取り除かれています):
char *parmList[6];
parmList[0] ="/root/ssl_send";
parmList[1] ="-m 1";
...etc...
parmList[5] = NULL;
execvp(parmList[0], parmList);
ここで、sprintf を使用して、このリスト内の 1 つの文字列に何かを書き込みたいと考えています (*parmList[6] の 1 つのポインターが sprintf で構築された char 配列を指すようにしたいと言った方が正しいでしょう)。常に「セグメンテーション エラー」が発生します。私が試してみました:
- mallocを使用して、
- double 配列を宣言してメモリ空間を確保する
- snprintf を使用して、....
私は明らかに何か間違ったことをしています。問題は Sprintf Segmentation Faultに似ていますが、execvp のポインター/char_arrays のリストが必要なだけです。