• ベストアンサー

文字列を配列に入れる方法

初歩的な質問で申し訳ありません。 文字列型のデータを1文字ずつ順番に配列に格納する方法を教えてください。 よろしくお願いしますっ。

  • megxp
  • お礼率37% (10/27)

質問者が選んだベストアンサー

  • ベストアンサー
  • Yackn
  • ベストアンサー率42% (12/28)
回答No.2

変数名を間違えてしまいました。スイマセン strAA を strA に変えてください。 一応もう一度、、、 dim arr() '文字列を入れる配列(動的配列) dim strA as string '文字列が入っている配列。 dim i as intger 'カウンタ redim arr(len(strA)) for i = 1 to len(strA) arr(i-1) = mid(strA,i,1) next i

megxp
質問者

お礼

ありがとうございます!! 問題はすっかりくっきり解決しましたっ!!

その他の回答 (1)

  • Yackn
  • ベストアンサー率42% (12/28)
回答No.1

ごくごく簡単に行いますと dim arr() '文字列を入れる配列(動的配列) dim strA as string '文字列が入っている配列。 dim i as intger 'カウンタ redim arr(len(strAA)) for i = 1 to len(strA) arr(i-1) = mid(strAA,i,1) next i こんな感じでしょうか。すいません未検証です。

関連するQ&A

  • 配列のことでなのですが

    配列で先頭から順番に文字列を格納していきたいのですがどのような方法があるでしょうか? ただforループなどで順番に繰り返すのではなくて、文字列を入力する度に配列の最後尾に文字列を格納していきたいのですが、 例えば for(i=0;i<=10;i++){ scanf("%s",hairetu[i]) } のような方法ではなく配列の中に文字列を前から順番に格納したいです。 詳しい方は知識をかしていただけるとありがたいです。

  • 入力された文字列を一文字ずつ配列に格納する方法

    例えばABCって文字列が入力されたら配列に data[0]="ABC" と格納するのではなく data[0]="A" data[1]="B" data[2]="C" と格納するにはどう書けばいいのでしょうか?

  • 文字列の配列

    文字列の配列 1.1.1.1 2.2.2.2 3.3.3.3 4.4.4.4 のようにIPアドレスが一行に一つづつ書き込まれたテキストがあります。 ここから、それぞれのIPアドレスを文字列として配列に書き込みたいのですが、どうしたらよいのでしょうか。 IPアドレスの数だけ配列を始めに宣言して、それぞれに書き込んでいくのでは手間がかかりすぎてしまいます。 単純に数値の羅列なら scanfを使い、配列に格納できるのですが、文字列になるとどうしたらいいのかわかりません。 よろしくお願いいたします。

  • 文字列を配列として扱う方法について

    文字列を配列に格納したいのですが、うまくいかずに困っています。 例えば、 a[1]=1番目のファイル.csv; a[2]=2番目のふく; a[3]=凄く長い名前.csv; としたいと考えています。 どのようにすればいいのでしょうか? 数字を配列に格納することはできます。

  • 文字列を配列に…。

    VBはまだ始めたばかりで本当に初歩的なことかもしれませんが分かる方がおられたら是非教えて下さい。 text1.textから取り込んだ文字列を”一文字ずつ”(Dim a(100) as stringで宣言した)配列に格納したいのですがどうしたらいいのでしょうか?? <例>text1.textに"abc"と入力しcommandbuttonを押すとa(0)に"a"がa(1)に"b"がa(2)に"c"が格納されるといったかんじです。 ちなみに今私がしたいのはtext1.textに、ある文字列を入れその文字列を文字コードに変換しそれを一文字分ずつ+1してまたそのコードを文字に直しtext2.textに出力するというものです(ようは簡単な暗号化ですね)。 私はAscとChrコマンドを利用して1文字ずつコードをずらしていこうと思っているのですが、他に良い方法などあるのでしょうか?? 本当に初心者でどのようにしらたよいのか分かりません…。 どなたか分かりやすく教えていただけませんでしょうか?? お願いします。

  • 配列での文字列の連続処理

     VBAなので低レベルすぎてここで質問する内容ではないかもしれませんが      Dim 元データ As Variant Dim 文字数 As Variant 元データ = Range("D1:D3087") For i = 1 To 3087 ’元データに格納されている文字列をこの間で操作したい      任意の文字を抜き取ってセルに貼り付ける 文字数 = Len(元データ) MsgBox 文字数 Next i 上記で 元データ に D1:D3087 の文字列を格納し文字列から必要な部分を抜き出しセルに書き込みたいのですが、エラーで止まります D1:D3087 の1行目は麻B060516-MSE300です。 文字列を操作できないのは元データがstringじゃないので無理っぽいかんじがするのですが配列に取り込むにはvariantじゃないといけないみたいなので、良い方法があればご教示いただけると幸いです。

  • 配列への文字列の追加ってどうやって追加するの?

    配列に文字列をいれたいのですが char a[100]; sprintf(a,"AB"); と書くと a[0]にAが a[1]にBが a[2]に\0が格納されますよね。 「配列に一度格納された文字列に新たな文字列を追加」したいのです。 つまり この\0を上書きしてa[2]から CD を追加し、結果 a[0]にAが a[1]にBが a[2]にCが a[3]にDが a[4]に\0が 格納されているようにしたいのです。 半角英数だったらできるのですが全角だとどうやるのでしょうか。 やりたい事は以下のようなものです。 "あい"を1度目の処理で配列に文字列を格納し、次の処理で"うえ"を追加し、 配列aをprintfするとき「あいうえ」が出力されるようにしたいのです。 どなたか教えてください(>_<

  • 文字列の動的確保とポインタ配列について

    C言語についての質問です。 現在、キーボードから文字列を読み込みファイルに保存するプログラムを作成しています。 プログラムの条件は、以下の通りです。 1: キーボードから英数字(最長でMAX_LEN(1000)-1文字)を入力して文字列(文字配列)dataに格納後、画面に表示する。 2: 入力された文字列と同じ長さの文字列を格納する領域を動的に確保し、文字列dataをその領域に コピーする。なお、必要な文字配列の長さは文字列の長さ+1バイトである。 3: 文字列endが入力されるか、入力された文字列がNUM_STRING(10)個になるまで1~2の処理を繰り返す 4: 各文字列へのポインタを格納する(char *)型ポインタの配列str_p(サイズ:NUM_STRING)を定義して利用する。 5:1~2の処理が終了した後で、メモリに格納されたすべての文字列をファイルに出力する。ファイル名はoutput.txtとし、最初の行に文字列の個数を、次の行以降に入力された順番と「逆の順番」で文字 列を出力すること。 実行例 input ->st22 st22 input->st1 st1 end ファイルの中身 2 st1 st22 現在完成しているプログラムは以下の通りです。 #include<stdio.h> #include<string.h> #include <stdilb.h> #define NUM_STRING 10 #define MAX_LEN 1000 int main (void) { int n, i; char data[MAX_LEN] = {}; char *str_p[NUM_STRING]; FILE *fp; do { printf("input->"); scanf("%s", data); if (strcmp(data, "end") == 0) { break; } else { printf("%s\n", data); n++ 2の処理 } while(n <= NUM_STRING); if ((fp = fopen("output.txt", "w")) == NULL) { fprintf(stdout, "File open error\n"); } fprintf(fp, "%d\n", n); for (i = n-1; i>0; i--) fprintf(fp, "5s\n", str_p[i]); fclose (fp); return 0; } 特に動的確保のところがよく分かりません。 回答よろしくお願いします。       

  • 文字列について

    昨日以下の質問をしました初心者ですが、 今自分で関数を作成しているのですが、文字列(丸数字)の文字化けにかなり苦しんでいます。 (※注※)これ以降(1)など()の中に数字を入れて記述しているものは実際のソースコード上では丸数字で記入してます。教えてgooでは丸数字が記述できないようでして… 関数の内容としては、(1)あ(2)い(3)う……このように丸数字で区切られている文字列を配列名を$dataとすると、$data[0]には「あ」、$data[1]には「い」、$data[2]には「う」が入るような関数を作成しています。 この丸数字の数は(10)まで対応させようと考えてます。 という質問をしましたが、この問題に関しては、 function bunkai($str1){ $data=explode('__SEPRATOR__',str_replace(Array("(1)","(2)","(3)","(4)","(5)","(6)","(7)","(8)","(9)","(10)"),'__SEPRATOR__',$str1)); array_shift($data); return $data; } と記述することのより解決しました。 しかし、昨日の質問を少し僕が間違えていたようで、実際には、$data[0]には「(1)あ」、$data[1]には「(2)い」、$data[2]には「(3)う」が入るような関数を作成したかったのです。で、試行錯誤しようにも方法が思いうかびませんでした。何か良い方法はないでしょうか?? ちなみに文字列は(1)あ(2)い(3)う……のように(1)から順番に始まるものもあれば(3)え(4)う…と(1)ではなく途中から始まるものもあります、なので、配列の順番を取ってきてそのまま丸数字に置き換えて挿入するという方法はダメです。 誰か文字列操作に詳しいお方、教えてもらえたらうれしいです。

    • ベストアンサー
    • PHP
  • 配列にある文字列を1つの変数に改行付きで格納する方法

    配列にある文字列を1つの変数に改行付きで格納する方法 Array ( [0] => レタス [1] => トマト [2] => きゅうり ) などの配列を $yasai 変数へ ------ レタス トマト きゅうり ------ と格納してテキスト表示させたいのですが、どのようにすれば可能でしょうか? そもそも可能なのでしょうか?ご存知の方、いらっしゃいましたら宜しくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう