ここから本文です

C言語についてです。以下のプログラ厶を書いたのですが表示してくれるはずのiがfsc...

StarRainさん

2019/7/1113:50:54

C言語についてです。以下のプログラ厶を書いたのですが表示してくれるはずのiがfscanfで読み取れていないです。どうすればいいですか?

#include<stdio.h>
#include<stdlib.h>
int main(){
int i = 0;
char str[64];
FILE *fp;
fp = fopen("f.txt","r");
if(fp == NULL){
printf("Error");
return 1;
}
else{
fscanf(fp,"%s %d",str,&i);
printf("%s %d\n",str,i);
}
fclose(fp);
return 0;
}
ちなみにf.txtのなかみは
rate 1500
です。
この1500を引っ張ってきたいのですがどなたか教えてくださいませm(_ _)m

閲覧数:
39
回答数:
3

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

2019/7/1114:06:32

いま、やってみましたが、正常に読み取れて表示します。

いったい、OS は、何でバージョンはいくつですか?
作業環境の問題の様な気がします。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

aer********さん

2019/7/1117:12:26

そもそもファイルオープンは成功してますか?

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

久遠人さん

2019/7/1114:04:46

>type test.c
#include<stdio.h>
#include<stdlib.h>
int main(){
int i = 0;
char str[64];
FILE *fp;
fp = fopen("f.txt","r");
if(fp == NULL){
printf("Error");
return 1;
}
else{
fscanf(fp,"%s %d",str,&i);
printf("%s %d\n",str,i);
}
fclose(fp);
return 0;
}

>type f.txt
rate 1500
>cl test.c
Microsoft(R) C/C++ Optimizing Compiler Version 19.21.27702.2 for x64
Copyright (C) Microsoft Corporation. All rights reserved.

test.c
Microsoft (R) Incremental Linker Version 14.21.27702.2
Copyright (C) Microsoft Corporation. All rights reserved.

/out:test.exe
test.obj

>test
rate 1500

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる