Ssssv11 2021-05-17 16:49 采纳率: 100%
浏览 844
已结题

C语言文件打开失败是怎么回事?

void ReadFile(int *key){
	int i ,flag ,j;
	*key = 0;
	char fileName[20];
	for(i=0; i<60; i++){
		binary[i].ch = '\0';
		binary[i].num = 0;
	}
	printf("\n\t\t\t请输入文件名:");
	scanf("%s", fileName);
	FILE *fp = fopen(fileName,"r+");
	if(fp == NULL){
        perror("打开文件失败啦");
		//printf("文件打开失败!\n");
		exit(1);
	}

	fgets(text, MAX, fp);
	printf("\n\t\t\t%s\n\n", text);
	for(i=0; i<MAX; i++){
		if(text[i] == '\0'){
            textLen = i;
			break;
		}
	}
	for(i=0; i<textLen; i++, flag=0){
		for(j=0; j<(*key); j++){
			if(binary[j].ch == text[i]){
				binary[j].num++;
				flag = 1;
			}
		}
		if(flag == 0){
			binary[*key].ch = text[i];
			binary[*key].num += 1;
			(*key)++;
		}
	}
	printf("\t\t\t文件共有%d种字符,文件总字符数为%d", *key, textLen);
	fclose(fp);
}

在判断fp == null的时候直接返回

用 perror()返回No such file or directory

 求大佬讲解一下该怎么办

  • 写回答

5条回答 默认 最新

  • CSDN专家-三岁丫 2021-05-17 16:53
    关注

    要把test1文件,放到编译后的可执行文件的同级文件夹下。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月3日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵