【发布时间】:2018-11-04 12:44:37
【问题描述】:
所以我试图在我的 C 程序中打开 .txt(或 .bin)文件。 当我运行代码时,它给了我 0 个错误,但控制台显示为空。 我相当确定我的代码是正确的。 我需要设置什么才能在 linux 上打开文件(我对它相当陌生)?就像权限一样,但它又会给我错误没有权限,对吧?
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct znakovi{
int tocka;
int upitnik;
int usklicnik;
};
struct znakovi interpukcijski(FILE *f){
int brojac_tocki=0,brojac_upitnika=0,brojac_usklicnika=0;
char c;
while((c==fgetc(f))!=EOF){
if(c=='.')
brojac_tocki++;
if(c=='?')
brojac_upitnika++;
if(c=='!')
brojac_usklicnika++;
}
struct znakovi z;
z.tocka=brojac_tocki;
z.upitnik=brojac_upitnika;
z.usklicnik=brojac_usklicnika;
return z;
}
int main(){
struct znakovi d;
FILE *f;
f=fopen("/home/matej/pmalabos/vjezba1/zd.txt","r");
if(f==NULL)
return -1;
d=interpukcijski(f);
printf("%d %d %d",d.tocka,d.upitnik,d.usklicnik);
fclose(f);
return 0;
}
【问题讨论】:
-
使用调试器找出问题所在,激活警告并修复它们。
-
程序结束了吗?成功了吗?
-
(c==fgetc(f))!=EOF --> (c=fgetc(f))!=EOF