メモ帳などにかきこんだ文字列を配列に読みこませる方法 – プログラミング – Home

メモ帳などにかきこんだ文字列を配列に読...
 
通知
すべてクリア

メモ帳などにかきこんだ文字列を配列に読みこませる方法


しんや
 しんや
(@しんや)
ゲスト
結合: 23年前
投稿: 6
Topic starter  

txtファイルなどはメモ帳で作れると思うのですが、それをプログラム中で
配列に挿入してランダムに文字列ごと表示させたいのですが、具体的な方法というか
プログラムの仕方がわからないので教えてもらえませんか?
後、ファイルを読みこまスところまでは何か関数がありそうなんですが、
一つの文字をランダムにだすのならただループでやれそうなんですが、
書いてもらった文字列の通りにそのまま配列からランダムに文字列として
表示させたいのですがどうやっていいかいい案が浮かびません。
何かいい方法があれば教えて下さい。


引用解決済
トピックタグ
ku
 ku
(@ku)
ゲスト
結合: 25年前
投稿: 312
 

できそうな事もありそうな書き方ですが
よく見ると、実装方法・設計ともに、どれもできない様に読めます。

まずは、ファイルを読み込む実装方法を確立させるのはいかがですか?
ファイルアクセスの方法が理解できてから作っても遅くはないと思いますよ
さて、ファイルを読み込む方法ですが
fopen()/fread()/fclose()でできます
別の方法として、CreateFile()/ReadFile()/CloseHandle()でもできます

偏りはあるかもしれないけど、乱数ならsrand()/rand()を使うのが簡単ですね

あと、文字列とは何を指しているのでしょうか?
ユーザが入力した改行コードまででしょうか?
ユーザが入力した句読点(、。)でしょうか?

それほど長いプログラムに成らないように思えますから
じっくりがんばってください


返信引用
CdS
 CdS
(@CdS)
ゲスト
結合: 24年前
投稿: 176
 

具体的になにがしたいのかが読み取れないです。
「ですが」が連続していて読みにくいですし。

まず1つ目の質問ですが、例えばどういうテキストファイルがあって、どう表示させたいのでしょう?
改行コードが含まれたテキストファイルからランダムで何行目かを表示させたいと読み取れますがどうなんでしょう?

そして2つ目の質問は、「書いてもらった文字列」とは?

コンソールアプリケーションなのかWindowsアプリケーションなのかを明記しましょう。
WindowsアプリケーションならMFCを使っているか使ってないかも書きましょう。

>表示させたいのですがどうやっていいかいい案が浮かびません。
kuさんがおっしゃる通り、まずファイルを読み込む一連の流れを理解しましょう。
案が浮かばないというより、基本的なことを理解されていないように思えますが。


返信引用
しんや
 しんや
(@しんや)
ゲスト
結合: 23年前
投稿: 6
Topic starter  

kuさんありがとうございました。
文字列についてはテキストに一行ずつ文字を書いてもらうという形をとろうと思うので改行まで
とするつもりです。

CdSさんもありがとうございました。
一つ目の質問についてですが、CdSさんの言われる通りにやろうと思っています。
2つ目についてですが、作る側で用意したテキストの他にユーザーが実行する場合に特定の形で
テキストデータを用意してくれればそちらのテキストからも読みこむといったことを考えているのですが、
これで答えになっているでしょうか?ちなみにWindowsアプリケーションでMFCも使っています。
最後に書かれているように基本がなってないので、質問の形も悪いと思っています。
ただ、この部分を勉強したくてもどのようにすればいいかもわからないのでプログラミングの基本書などで
一からやっているので早くに基本レベルまで到達できるようにがんばるのでこれからもお手柔らかに…


返信引用
CdS
 CdS
(@CdS)
ゲスト
結合: 24年前
投稿: 176
 

1.
CStdioFile::ReadStringを使えば簡単なんでしょうね。
基本を理解するには、fread, ReadFile, CFile::Readなどを使ったほうがいいとは思います。

2.
答えになっているかどうかはよく分からないですけど、オープンするファイル名を変えるだけに思えますが。

最後に、質問とは直接関係ないかもしれませんが、やはり文章は読みにくいです。
一番最後の文章なんか読点がなく「ので」の連発です。
投稿する前に推敲してみましょう。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました