質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio 2013

Microsoft Visual Studio 2013は、Microsoftによる統合開発環境(IDE)であり、多種多様なプログラミング言語に対応しています。 Visual Studio 2012の次のバージョンです

Q&A

解決済

2回答

1420閲覧

stringの文字をファイルに書き出したいのですが・・・

fender0131

総合スコア121

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio 2013

Microsoft Visual Studio 2013は、Microsoftによる統合開発環境(IDE)であり、多種多様なプログラミング言語に対応しています。 Visual Studio 2012の次のバージョンです

0グッド

1クリップ

投稿2015/11/05 07:34

stringの文字をdatファイルに書き出そうとしています。

コンボボックスに文字を入れる変数を以下とします。

public string a_cb;

コンボボックスに「123」と入力し、datファイルに書き出すと、「03 31 32 33」となり、4バイトのファイルができました。

次にコンボボックスに「1」と入力し、datファイルに書き出すと、「03 31 」となり、2バイトのファイルができました。

これを「03 00 00 31」といったようにバイト数を揃えたいのですが、どのような方法がありますでしょうか?
配列をかませれば出来ると思ったのですがうまくいかずにいます・・・

どちら様かご指導ご鞭撻の程よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

3文字までの制限があるのが前提であればa_cb.PadLeft(3, '\0');で行けると思います。

投稿2015/11/05 08:00

htsign

総合スコア870

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fender0131

2015/11/05 08:35

なるほど! そのようなコマンドがあったのですね! とても参考になりました。 ありがとうございます。
guest

0

03 31 32 33
は、先頭が 3文字
次の 31 は 16進数で、10進数だと、「1」です。

桁を揃えたいという要望だと思うけど、dat ファイルへの書き込み方法がよろしく無いのでは?

投稿2015/11/05 07:45

ipadcaron

総合スコア1693

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fender0131

2015/11/05 07:55 編集

お答えありがとうございます。 using (BinaryWriter w = new BinaryWriter(File.OpenWrite(@"c:\data\tugite_test.dat"))) { foreach (data Item in lst) { w.Write(Item.a_cb); ・・・ } } という具合で書き込んでいます。 イメージとしては3文字を基準に、それ以下の文字数だった場合、ダミーテータを与えて、無理やり3文字と同じバイト数にしたいという感じです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問