質問編集履歴

2 unsigned int data1でプログラム上に定義した場合は正常に動作していることを追記させて頂きました。

yamayamak

yamayamak score 77

2017/02/01 11:03  投稿

char文字列をunsigned int型のクラスメンバに渡して実行
###前提・実現したいこと
C++のプログラムを記載しています。
あるchar型のdata1にクラスメンバの「unsigned int buf[]」に渡して実行したいです。
class testObj
{
public:
 void sendData(unsigned int buf[], int len);
}
こんな感じで書いたりしているのですが、よくわからないです。
```ここに言語を入力
 char data1[20] = "123,456,789";
 char data1[20] = "0x123,0x456,0x789";
 testObj test();
 int objSize = sizeof(data2) / sizeof(unsigned int);
 test.sendData((unsigned int)data2[], objSize );
 test.sendData((unsigned int)data1[], objSize );
```
ちなみに、char型ではなく  
 
unsigned int data1[] = {0x123,0x456,0x789};  
 
で定義した場合は  
 
test.sendData( data1, objSize );  
 
で問題なく動いております。  
現状はArduinoのEEPROMにあるデータが文字列で保存されておりchar型で読み出して利用したいということになります。  
 
すみませんがHelpしてください。
  • C++

    4442 questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • char

    32 questions

    charは文字データ型を指します。一文字分の文字コードの格納を想定としている型です。

  • integer

    9 questions

    integerは、一般的に整数を表します。プラスやマイナス、ゼロもなりうる全ての数です。(例 : -2, -1, 0, 1, 2...)

  • オブジェクト指向

    328 questions

    オブジェクト指向プログラミング(Object-oriented programming;OOP)は「オブジェクト」を使用するプログラミングの概念です。オブジェクト指向プログラムは、カプセル化(情報隠蔽)とポリモーフィズム(多態性)で構成されています。

1 dataの文字列変更なども同じ内容に記載していましたが、Subjectの内容に特化しました。

yamayamak

yamayamak score 77

2017/02/01 10:31  投稿

char文字列をunsigned int型のクラスメンバに渡して実行
###前提・実現したいこと
C++のプログラムを記載しています。
あるdata1に定期的に”0x”を付与して、新しいdata2を作りたいです。
data2を以下のクラスメンバの「unsigned int buf[]」に渡して実行したいです。
あるchar型のdata1にクラスメンバの「unsigned int buf[]」に渡して実行したいです。
class testObj
{
public:
 void sendData(unsigned int buf[], int len, int hz);
 void sendData(unsigned int buf[], int len);
}
こんな感じで書いたりしているのですが、よくわからないです。
```ここに言語を入力
 char data1[20] = "123,456,789";
 char data2[50];
 int j = 0;
 for (int i = 0; i <= sizeof(data1)+1; i++) {
   if ( i%4 == 0 ) {
     data2[j] = '0';
     data2[j+1] = 'x';
     j = j + 2;
   }
   data2[j] = data1[i];
   j++;
 }
 data2[j] = '\0';
 testObj test();
 int objSize = sizeof(data2) / sizeof(unsigned int);
 test.sendData((unsigned int)data2[], objSize , 38);
 test.sendData((unsigned int)data2[], objSize );
```
int objSize = sizeof(data2) / sizeof(unsigned int);  
 
もたぶん、間違っています。  
まず、charのサイズは出るのでしょうか?  
割算は切り上げ?余りは良いのでしょうか?  
 
すみませんがHelpしてください。
  • C++

    4442 questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • char

    32 questions

    charは文字データ型を指します。一文字分の文字コードの格納を想定としている型です。

  • integer

    9 questions

    integerは、一般的に整数を表します。プラスやマイナス、ゼロもなりうる全ての数です。(例 : -2, -1, 0, 1, 2...)

  • オブジェクト指向

    328 questions

    オブジェクト指向プログラミング(Object-oriented programming;OOP)は「オブジェクト」を使用するプログラミングの概念です。オブジェクト指向プログラムは、カプセル化(情報隠蔽)とポリモーフィズム(多態性)で構成されています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る