私は C プログラマーではありませんが、C で拡張できるアプリケーションの 1 つの単純な POC を取得する必要があります。モジュールを介してデータを直接渡すことによってコードをコンパイルしています。私の考えは、逆を渡すことです。私のコードが実際にデータに何かをしたことを証明するために渡された文字列の。
現在、各入力を出力に直接渡すこのコードがあります。
INFA_CTSetData(outputGroupPorts[i],
INFA_CTGetDataStringM(inputGroupPorts[i]));
INFA_CTGetDataStringM
関数は次のように定義されます。
char* INFA_CTGetDataStringM(INFA_CT_INPUTPORT_HANDLE dataHandle);
ここで文字列を逆にする関数を見つけました
char *mystrrev(char *s)
{
char *start = s, *t = strchr(s, '\0'); /* point to end of string */
/*
* Swap the values at the beginning (pointed to by 's') and the end
* (pointed to by 't'); 's' and 't' meet in the middle.
*/
for ( --t/* skip terminating null character */; s < t; ++s, --t )
{
/* Just your run-of-the-mill swap here. */
char temp = *s;
*s = *t;
*t = temp;
}
return start;
}
私が失敗しているのは、呼び出しの結果を に渡し、 に渡すINFA_CTGetDataStringM
ことmystrrev
ですINFA_CTSetData
。
INFA_CTSetData(outputGroupPorts[i],
mystrrev(INFA_CTGetDataStringM(inputGroupPorts[i])));
コンパイル時にこれらのエラーが発生します
p_Reverse.c:155: error: conflicting types for 'mystrrev'
p_Reverse.c:145: error: previous implicit declaration of 'mystrrev' was here
Visual Basic と C# で私の生活が楽になりすぎて何年も経ちますが、誰かこのコードを機能させるのを手伝ってくれませんか? 私はやみくもに と を追加*
し&
てさまざまなコンパイラ エラーを取得しようとしましたが、今は困惑しています。