こんにちはこれは愚かな質問かもしれませんが、私の世界のためにそれを理解することはできません!fscanfのcharをintとして使用する方法
(c)において、Iは、数字と文字の両方を持つようなファイルを読み込むしようとしているが、私は私のプログラミングのものに番号のみを使用します。それは次のようになります。
t1 stuff 12 123 stuff
t1 stuff 12 123 stuff
t1 stuff 12 123 stuff
t2 stuff 12 123 stuff
t2 stuff 12 123 stuff
t3 stuff 12 123 stuff
t4 stuff 12 123 stuff
t4 stuff 12 123 stuff
t4 stuff 12 123 stuff
t33 stuff 12 123 stuff
(それは私だけ大きなリストを避けるために、T33に、T4からスキップこのにT33するすべての方法を実行します)、私はそれをやっ
方法は次のとおりです。
Struct name {
char t_numbers
etc..
と:
info(struct name*stuff) {
FILE *data;
data= fopen("thefilename", "r");
int i=0;
while (fscanf(file, "%s %s %d %d %s\n",stuff[i].t_numbers, etc etc...) == 5)
...
は今、私が最初にintとして及びt_numbersを実行しようとしましたトン%Dではなくファイルではなく、理由は「T」の文字のことcharとs%の間でのみ実行できます。
問題は、私が代わりにポインタのintとして[i]の.t_numbersのものを使用する方法、ありますか?だから、それはその中の「T」ではなく数字を使用します。
例:
while (k<=10) {
while (stuff[i].t_numbers==n) {
は、それがint型と比較されるポインタですので、動作しませOFCます。しかし、それを動作させる方法は?どのように "T"なしでそれらのデータを使用するので、私はそれを行うことができます。
私はそれは愚かな質問だ場合のために、非常に残念ですか、それが既に求められている場合(どこでも検索します)。私は全く新しいです。
(それは例としてだけ速くドラフトだったのでコード等のスペルミスを持つことができます)
それを試してみましたが、悲しいことにfscanfは単にファイルのスキャンを停止します。プログラムは実行されますが、番号や何もスキャンされません。 t%dとあなたのソリューションの両方。 – PeteD
それは働いた!私は最初に空白の問題を忘れてしまった!何度もありがとう – PeteD