visualstudio2017 community版本,有点失去信心了,同样两行代码,外观看不出任何区别,但是一个报错
2024-09-08 18:47:34
不多废话,先上代码
注意查看函数fputs_FILE,该函数的两行代码fopen_s是同样的,但事实上:
第一条fopen_s执行起来会报错,但是第二条就不会!!!
/*
练习:获取用户键盘输入,写入文件中
*/
#include"head.h" int fgets_stdin(char *buf,int a) {
fgets(buf, a, stdin);
return EXIT_SUCCESS;
} int fputs_FILE(char *buf) {
FILE *fp;
fopen_s(&fp, "C:/Users/a/source/repos/ConsoleApplication7/fgets_stdin_fputs_FILE.txt","w+" );
//fopen_s(&fp, "C:/Users/a/source/repos/ConsoleApplication7/fgets_stdin_fputs_FILE.txt","w+" );
if (fp==NULL) {
perror("fopen_s");
return -1;
} fputs(buf, fp);
fclose(fp);
return EXIT_SUCCESS;
} int main() {
char buf[10] = { 0 };
fgets_stdin(buf,sizeof(buf) );
//printf("%s \n", buf);
fputs_FILE(buf); system("Pause");
return EXIT_SUCCESS;
}
第一行的fopen_s :fopen_s(&fp, "C:/Users/a/source/repos/ConsoleApplication7/fgets_stdin_fputs_FILE.txt","w+" );
最终每行开始排查,发现在第一行的参数二的位置”“内部有一个东西,类似于字符,可以让光标多移动一次,但是却并没有显示,即使复制粘贴到notepad++上也看不到该字符(该字符不同于回车或者换行)。
把该字符删除即可成功运行。
总结:
这就很懵,同样的代码竟然有了不同的结果,就好比在学习一个灯泡在多大的电压可以点亮时,突然发现,在220V下面点亮了,但是偶尔几次不亮,这就很违背物理常识了。
想起了一个问题:无神论造神(无神论创造物理定律等)。
最新文章
- 基于Kubernetes在AWS上部署Kafka时遇到的一些问题
- jmeter(五)Sample之JDBC Request
- spring session 和 spring security整合
- Java中的基本数据类型
- 谷歌(GDG):智能技术在物联网及移动互联网中的最新应用讲座
- Firmware综述
- 使用DataList 分页方法
- noip推荐系列:汽艇[贪心]
- perl中my和our的区别分析
- 【Spark篇】--Spark中的宽窄依赖和Stage的划分
- 利用Python进行数据分析(第二版)电子版书籍分享
- Linux下redis 的部署、主从与集群
- Hudson持续集成服务器的安装配置与使用
- error link 2019 waveout
- Invalid file name: must contain only [a-z0-9_.]【Android报错】
- win10禁用自动更新服务
- JSON在各种语言中的运用
- 【扩展欧几里得】BZOJ1477-青蛙的约会
- JS中document对象详解
- Linux netstat 命令