[英]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.