C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■17378  Re[6]: Tablet PC SDKについて
□投稿者/ とっちゃん -(2008/04/23(Wed) 11:33:05)
>
    No17354 (よこやま さん) に返信
    > 対象OSは決定ではないのですが、2000、xp、ヴィスタです。
    > これはもう、出来てからやってみないとわからないですね…。
    >
    いくつかマージモジュール(WindowsSDK6.0付属のもの)を見てみたところ、
    Windows 2000 以上にインストールできるようになっていますね。
    SDKのドキュメントをきちんと読んでいないので本当に動くかわかりませんが、
    配布条件を見る限りでは、使えるっぽいです。
    でもドキュメントのそれらしいところをちょっと眺めた範囲では
    2000については言及がないので全くわからんですね。


    > インストーラは作ってあるのですが、マージモジュールは初めて聞きました。ちょっと調べてみます。
    >
    こちらは、WindowsSDK 6.0 以上なら
    C:\Program Files\Microsoft SDKs\Windows\v6.0\Redist\Tablet PC\v1.7
    というフォルダ(標準的なインストール先)にあります。

    VS2008だと、6.0Aのサブセットがついてきますが、こちらには含まれていません。
    SDKは別途入れているようですので、そのSDKのインストール先にある

    通常は C:\Program Files\Common Files\Merge Modules にコピーして使いますが
    インストーラによるので、現状どうすれば?というのは何とも言えません。
    もちろんコピーしておけばあとはよしなにとはならないと思うので
    この辺りはインストーラに何を利用しているか?がわからないと
    何とも言えませんが。

    あと、XPだとどうのこうのとかなんかいろいろ書かれていたので(全部英語)
    一度ドキュメントをきちんと読んで実行環境などは
    調査したほうがいいと思いますよ。

    開発終盤になって 2000 で動かしてみたらNGでしたじゃシャレにならんです。
記事No.17329 のレス /過去ログ35より / 関連記事表示
削除チェック/

■89181  Re[3]: stringクラス文字列を文字数で区切りたい
□投稿者/ にゃるら -(2018/11/05(Mon) 12:37:13)
    No89174 (ビキナー さん) に返信
    まずstringクラスってなんでしょうか。
    std::stringクラスのことでしょうか、CStringクラスのことでしょうか?それとも別?

    No89173 (Jitta さん) はヒントを与えてくれています。
    文字列を扱うクラスであれば、何番目の文字ってのにアクセスできる関数が付いていると思います。
    それを使って、文字列の読み取りたい位置を見つけて、ほしい分だけ読み進めればよいよってことだと思います。
    その読み取りたい位置を探すのがn番目であれば、区切りたい文字数×(n−1)、って計算で求められるよってことなのではないでしょうか。
    std::stringなら、at関数でほしい位置のcharが得られます。itreratorを使うのもいいと思います。
    ほしい長さのchar配列をつくり、そこに得た文字を埋め込み、char[]->stringしてくれる関数(std::stringならコンストラクタ)を呼べばよいかと。

    途中でchar[]->stringをしたくないのであれば、ほしい文字列の位置から一定の長さで「文字列」として取得するstd::stringのsubstr関数を使ってみると良いと思います。(■No89179 (魔界の仮面弁士 さん) が、その詳細を書いていただけてますね)
記事No.89171 のレス /過去ログ153より / 関連記事表示
削除チェック/

■89179  Re[1]: stringクラス文字列を文字数で区切りたい
□投稿者/ 魔界の仮面弁士 -(2018/11/05(Mon) 11:55:29)
    No89171 (ビキナー さん) に返信
    > 例(3ビットで区切りたい):
    > string str = "123456789012";

    『3 ビット』で区切るの意味にもよりますが、
    "123……" という文字列を 3bit で区切ると
    → 16進数では: 31,32,33,……
    → 2 進数では: 00110001,00110010,00110011,……
    → 3 bit 区切: 001,100,010,011,001,000,110,011,……
    になりますね。


    > stringクラスで宣言した文字列を、文字数で区切る良い方法はないでしょうか?

    「3 ビット」なのか「3 文字」なのか「3 バイト」なのかで変わってきますが、
    > str2[0] = "123"
    > str2[1] = "456"
    という結果を得たいのであれば、Jitta さんや Azulean さんの回答を参考に
     str2[0] = str.substr(0u, 3u);
     str2[1] = str.substr(3u, 3u);
     str2[2] = str.substr(6u, 3u);
     str2[3] = str.substr(9u, 3u);
    になるように切り出していけると思います。
    ただし、マルチバイト文字は含まれないという前提で。


    using namespace std;

    size_t chunkSize = 3u;

    size_t const limitIndex = 10u;
    string str = "123456789012";
    string str2[limitIndex];

    size_t maxIndex = (size_t)ceil(str.length() / (double)chunkSize);
    if (limitIndex < maxIndex) { maxIndex = limitIndex; }
    for (size_t i = 0u; i < maxIndex; i++) { str2[i] = str.substr(i * chunkSize, chunkSize); }
記事No.89171 のレス /過去ログ153より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -