![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
1.txtの中身が
01110
10100
であったとします
open "1.txt" for input as #1
でファイルを開いて、
dim readin(10) as integer
に対して、
readin(0)=0
readin(1)=1
readin(2)=1
・・・ =1
=0
=1
=0
readin(7)=1
readin(8)=0
readin(9)=0
というように、整数の配列にテキストの中にある0と1を代入したいのですが、どうすればよいのでしょうか。
検索をしても、line input のように行で読み込むものや、項目の間にスペースの区切りが必要なものが出てきます。
テキストの中身をスペースで区切る、もしくはlineinputでバッファ変数に読み込んだあと、leftなどでバッファから読み込むことも出来そうですが、それは最終の手段としておいておいて、
一回の操作で直接1文字のみ読み込む方法があれば教えてください。
No.2ベストアンサー
- 回答日時:
char = Input(1, #1)
で1文字読み込みができます。
ただし、キャリッジ リターン (Chr(13))、ライン フィード (Chr(10))なども1文字として読み込みますので、それらの文字は無視する必要があります。
input( , )を用いてバッファ変数に1文字読み込んだあと、
if temp<>chr(13) and temp<>chr(10) then・・・
で改行を無視し、
val()を用いて数値化することで、1桁の整数を読み込むことができました。
ありがとうございました。
No.4
- 回答日時:
No1です。
質問の最後を読み飛ばしていました。>一回の操作で直接1文字のみ読み込む方法
したがて、No1は
>それは最終の手段としておいておいて
にしておいてください。
No.3
- 回答日時:
テキストファイルをランダムファイルとして読めば簡単では・・・
1レコードを1LENにしてランダムOPENすれば1文字単位で読めますよ。
dim readin(10) as integer
x=0
open "1.txt" for random as #1 len=1
jp1:
if eof(1) then close :goto jp2
x=x+1 : get #1 , x , readin(x)
goto jp1
jp2:
end
配列の変数 readin(1) ~ readin(10) に一文字単位で入ります。
※ あえて 1からにしておけば 1文字目がreadin(1)に 対応するので解かり易い
0から入れたければ get #1,x,readin(x-1) にしてください
No.1
- 回答日時:
方法はいろいろありますが、ベタな方法で。
Sub test()
Dim fileNum As Integer
Dim buf
Dim ary() As String
Dim i As Long
Dim j As Long
Dim k As Long
fileNum = FreeFile
Open "C:\Documents and Settings\user\デスクトップ\my.txt" For Input As #fileNum
Do Until EOF(fileNum)
Line Input #fileNum, buf
buf = buf & buf
Loop
i = Len(buf)
ReDim Preserve ary(i)
For j = 1 To i
ary(j) = Mid(buf, j, 1)
Next j
Debug.Print "読み込んだ文字列は" & buf
Debug.Print "以下より各要素表示"
For k = 1 To i
Debug.Print "ary(" & k & ")=" & ary(k)
Next k
Close #fileNum
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Ruby パイソンでテキストファイルが読み込めない 1 2022/11/14 16:42
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) VBAでエクセルをtxtに変換するとエクセルでカンマを含む文字数字がtxtでは「""」付にならないよ 1 2022/08/27 12:17
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
VBAでワークシートを引数として...
-
.txtではなく.logの方が良いの...
-
多数のサブディレクトリ内のフ...
-
拡張子を元に戻す
-
テキストファイルで提出とは?
-
テキスト(txt)→ワード(docx)へ...
-
バッチファイルで文字列削除に...
-
ファイルの最後に文字列挿入
-
Windows マシンでFTPバッチが動...
-
★★★PowerShellのpatternについ...
-
psqlでエラーログをとりたい
-
バッチファイル 複数ファイル...
-
テキストファイルのファイル名...
-
VBAでエクセルをtxtに変換する...
-
EXCEl/VBAで拡張子なしのファイ...
-
コマンドプロンプトでファイル...
-
Windowsのバッチファイルを利用...
-
VB.NETでフォルダを圧縮
-
【Excel】 VBAを使って毎回名前...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
VBAでワークシートを引数として...
-
.txtではなく.logの方が良いの...
-
拡張子を元に戻す
-
多数のサブディレクトリ内のフ...
-
COPYコマンドで結合すると余計...
-
forfilesで検索したファイルを...
-
テキストファイルのファイル名...
-
テキストファイルで提出とは?
-
ファイルの最後に文字列挿入
-
バッチファイル 複数ファイル...
-
Windowsのバッチファイルを利用...
-
バッチファイルからVBAに引数を...
-
psqlでエラーログをとりたい
-
renameコマンドについて
-
VBAでエクセルをtxtに変換する...
-
バッチファイルで文字列削除に...
-
cshでファイルサイズ取得
-
テキスト(txt)→ワード(docx)へ...
-
ファイル内容の修正、行削除に...
おすすめ情報