簡體   English   中英

C-fscanf無法從文本文件正確讀取數字

[英]C - fscanf not reading number correctly from text file

我是C語言的新手,我正試圖使我的int等於4。正在從文本文件中讀取4,但是當我打印出它時,它會打印出32767。

#include <cstdlib>
#include <stdio.h>
#include <stdlib.h>
#include "Component.h"
using namespace std;


int main(int argc, char** argv) {
    FILE *fp;
    fp=fopen("text.txt","r");
    int a;

    fscanf(fp,"%d",&a);
    if(fp == NULL) {
        printf("cannot open");
    }

    printf("%d",a);
}

您的代碼看起來正確,除了您應該在fscanf之前測試fopen起作用。 順便說一句,您獲得的數字是一個int的最大值。您的文件可能存在問題:

  • 沒有讀取權限
  • 文件不存在
  • 不包含正確的值

另外,如果僅使用C函數,為什么還要使用C ++?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM