0

皆さん、おそらくこれはばかげた質問です。多くのサイトを検索しましたが、プログラムが機能していません:(

Raspberry Pi に接続された MCP3008 からいくつかの値を読み取り、次の python スクリプトを使用して PureData に送信します。

 os.system("echo '" + value + ";' | pdsend 3000 localhost")

ここで、「値」にはセンサーからの読み取り値が含まれます。しかし、スクリプトが遅すぎるので、C に移行することにしました。

    int main() {
  for ( ; ; )
  {
    int value = mcp3008_value(0, 18, 23, 24, 25);
    char  message[]="";
    char str[50];
    sprintf( str, "%d", value );
    strcpy(message, "echo '");
    strcat(message, str);
    strcat(message, ";' | pdsend 3000 localhost");
    printf(message);

  }
  return 0;

}

しかし、実行すると次のようになります:セグメンテーション違反

Pythonのようにintと文字列を連結する簡単な方法はありますか? また、Python よりも高速になると思いますか?

みんなありがとう ;)

4

3 に答える 3

0

エラーは次の行で発生します。

strcpy(message, "echo '");

メッセージ バッファは 1 バイト サイズしかないためです。

于 2013-09-27T14:39:55.910 に答える