
ファイル関数を使ってoutput.txt(txtファイル)の文字を配列に格納するプログラムを作っているのですが、配列に文字を入れられない状態です。
※参考になるページやアドバイスがあれば宜しくお願い致します。
■プログラム
#include <stdio.h>
void main(){
int i;
int data[10];
FILE *fp;
fp = fopen("output.txt","r");
if(fp == NULL){
printf("ファイルが見つかりません。");
}else{
for(i=0;fp != EOF;i++){
data[i] = fgetc( fp );
}
}
}
■output.txt
001 100 猫A 好きな物 ねこまんま
002 200 猫B 好きな物 キャットフード
No.3ベストアンサー
- 回答日時:
これで、やりたいこと、できませんかね?
++++++++++++++++++++++
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void){
int i = 0, j = 0;
char temp, data[10][100];
FILE *fp;
fp = fopen("output.txt","r");
/* 初期化 */
memset(data, 0, sizeof(data));
if(fp == NULL){
printf("Cannot find file");
}else{
while((temp = fgetc(fp)) != EOF){
if (temp == ' ' || temp == '\n') {
data[i][j] = '\n';
i++;
j = 0;
} else {
data[i][j] = temp;
j++;
}
}
for (i = 0; i < 10; i++) {
printf("[%d] Output : %s \n", i, data[i]);
}
fclose(fp);
}
return 0;
}
++++++++++++++++++++++
No.2
- 回答日時:
fgetcで1文字(1バイト)づつ取得して、data配列に格納してますよ。
文字列のバイト数と配列のサイズが合わないし、int型じゃなくchar型の方が効率的だし、なにをしたいんでしょうか?
回答ありがとうございます。
確かにchar型の方がint型より効率的ですね・・。
勉強不足でした。
再度その点をもう一度考えています。
No.1
- 回答日時:
>001 100 猫A 好きな物 ねこまんま
>002 200 猫B 好きな物 キャットフード
この入力データを、
>int data[10];
この出力領域にどんな風に格納したいのでしょうか?
data[0]~data[9]がどうなることをお望みであるか、教えてください。
回答ありがとうございます。
1つ1つの配列に以下のように入れたかったです。
data[0]=001 data[1]=100 data[2]=猫A data[3]=好きな物
data[4]=ねこまんま data[5]=002 data[6]=200 data[7]=猫B
data[8]=好きな物 data[9]=キャットフード
もう一度配列から勉強しなおして見ます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/02/05 09:55
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル出力で改行を入れたい!
-
ファイルへの書込み処理が異常...
-
fgets( ) の返り値は何?
-
C言語でファイル読み書きを早く...
-
ファイルに行番号を追加
-
C言語 連番データの読み込み
-
テキストファイル内に対して, ...
-
複数ファイルの同時読み込みの...
-
ファイルからCR/LFを除去したい
-
C言語でセグメンテーションエ...
-
Aの値からBの値を除するとは??
-
Enterキーを押されたら次の処理...
-
C言語での引数の省略方法
-
「Aに対するBの割合」と「Aに対...
-
信頼区間の1.96や1.65ってどこ...
-
【C言語】全角文字の配列を、全...
-
c言語でAからZまでを表示する...
-
エクセルで可視セルにのみ値貼...
-
C言語での数字の花形表示
-
「指定されたキャストは有効で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数ファイルの同時読み込みの...
-
C言語でファイル読み書きを早く...
-
fopenでファイル名に、変数を使...
-
c言語でのfscanfについて
-
ファイルへの書込み処理が異常...
-
ファイル出力で改行を入れたい!
-
fscanfでループしてしまう。
-
C言語にてXMLファイルから任意...
-
テキストファイル内に対して, ...
-
datファイルの読み込み
-
ファイルに行番号を追加
-
大量の入力ファイルを扱うとき...
-
辞書順にソートしたいのですが...
-
InternetReadFileを使ったファ...
-
C言語 連番データの読み込み
-
C言語におけるファイル読み込み...
-
数値のみ抽出(C言語)
-
簡易grep関数ができません。助...
-
VisualStudioでのファイルの入...
-
fgets( ) の返り値は何?
おすすめ情報