[英]I don't know why the file won't open
This is my code这是我的代码
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#define TRUE 1
#define FALSE 0
typedef struct {
int M,N;
int min,max;
int width;
int height;
unsigned char **pixels;
}PPMIMG;
int fnReadPPM(char* fileNm,PPMIMG* img);
int main(int argc, char ** argv)
{
PPMIMG img;
if(fnReadPPM(argv[1], &img) != FALSE)
{
return TRUE;
}
return 0;
}
int fnReadPPM(char* fileNm ,PPMIMG* img)
{
FILE* fp;
fp = fopen("/users/ashton/Downloads/test.txt","rb");
if(fileNm == NULL){
fprintf(stderr,"Unable to File ! : %s\n",fileNm);
return FALSE;
}
fclose(fp);
return TRUE;
}
int fnWritePPM(char* fileNm, PPMIMG* img)
{
FILE *fp =fopen(fileNm, "w");
if(fp == NULL)
{
fprintf(stderr, "Failed to create the file.");
return FALSE;
}
return TRUE;
}
This is the error code:这是错误代码:
Unable to File ! : (null)
Program ended with exit code: 0
Your wrongly test the fopen return value:您错误地测试了 fopen 返回值:
fp = fopen("/users/ashton/Downloads/test.txt","rb");
if (fp == NULL) { //<===== Was WRONG, you used fileNm instead of fp
perror("Unable to File");
return FALSE;
}
The problem ist most likely here:问题很可能在这里:
int fnReadPPM(char* fileNm ,PPMIMG* img)
{
FILE* fp;
fp = fopen("/users/ashton/Downloads/test.txt","rb"); // you assign fp
if (fileNm == NULL){ // and here you check for fileNm
fprintf(stderr,"Unable to File ! : %s\n",fileNm);
return FALSE;
}
...
You want this:你要这个:
int fnReadPPM(char* fileNm ,PPMIMG* img)
{
FILE* fp;
fp = fopen("/users/ashton/Downloads/test.txt","rb");
if (fp == NULL) {
fprintf(stderr,"Unable to open file %s.\n", fileNm);
return FALSE;
}
...
However in the fnWritePPM
function you did it right.但是在
fnWritePPM
函数中,您做得对。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.