【发布时间】:2021-09-04 23:40:56
【问题描述】:
这是我的代码
#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;
}
这是错误代码:
Unable to File ! : (null)
Program ended with exit code: 0
【问题讨论】:
-
检查
errno的值,或者只使用perror函数。 -
实际上,这个特定的错误消息似乎不是由文件打开本身引起的,而是
fileNm不是从命令行提供的。 -
不要在代码的每一行之间添加空白行。它使它的可读性降低,可读性代码非常重要,尤其是对于编写它的人。
-
使用
perror()了解您遇到的错误。 -
那么,我应该使用fileNm以外的东西吗?
标签: c image-processing ppm