CodeBlocks 中fopen函数不支持命令 “r”

//codeblocks

#include<stdio.h>

#include<stdlib.h>

void main(void)

{

  FILE *fp=NULL;

  if((fp=fopen("shuju.txt","r"))==NULL)

    {

      printf("Can not open the file! \n");

      exit(0);

    }

  fclose(fp);

  return(0);

}

运行这段程序,总是打印出“Can not open the file!”,在各个论坛和百度了一下,无果。

不断的无用尝试一下,把 “r”  改写为 “r+”  ,文件不可读的问题得以解决。

最后,问题是解决了,但codeblocks 编程环境下  为什么不支持 “r”操作呢?同样的语句在vc6.0下编译通过,可以正常读文件。

时间: 2024-11-12 11:31:04

CodeBlocks 中fopen函数不支持命令 “r”的相关文章

shell 中的函数优先于 命令

在编译Android的时候 把下面的函数,添加到 envsetup.sh, 再运行 build/envsetup.sh 让其生效 function make() { local make=$(which make) echo "you are running function make" ${make} [email protected] } 而后运行 make, 运行的并不是可执行文件 make, 而是 envsetup 中定义的 make函数 在运行完make之后,如何还想执行别的

fopen()函数中参数mode的取值

FILE * fopen(const char * path,const char * mode); 参数mode字符串则代表着流形态. mode有下列几种形态字符串: r 打开只读文件,该文件必须存在. r+ 打开可读写的文件,该文件必须存在. rb+ 读写打开一个二进制文件,只允许读写数据. rt+ 读写打开一个文本文件,允许读和写. w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失.若文件不存在则建立该文件. w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会

Oracle中REGEXP_SUBSTR及其它支持正则表达式的内置函数小结

Oracle中REGEXP_SUBSTR函数的使用说明: 题目如下:在oracle中,使用一条语句实现将'17,20,23'拆分成'17','20','23'的集合. REGEXP_SUBSTR函数格式如下:function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)__srcstr :需要进行正则处理的字符串__pattern :进行匹配的正则表达式,匹配的值将返回,返回策略由__occurrence决定__po

nm 命令能够显示目标文件中重载函数的名字改变(C++)

#include <stdio.h> #include <iostream> using std::cout; using std::endl; //这里的两个不同的add函数根据函数的参数个数不同,编译为目标文件后 //名字发生变化 int add(int x = 0, int y = 0) { return x + y; } int add(int x, int y, int z) { return x + y + z; } int main(void) { int a = 3

《APUE》中的函数整理

第1章 unix基础知识 1. char *strerror(int errnum) 该函数将errnum(就是errno值)映射为一个出错信息字符串,返回该字符串指针.声明在string.h文件中. 2.void perror(const char *s) 该函数基于当前的errno值,在标准出错文件中输出一条出错消息,然后返回.声明在stdio.h文件中.它首先输出由s指向的字符串,然后是一个冒号,一个空格,接着是errno值对应的出错信息,最后是一个换行符. 第2章 UNIX标准化及实现

fopen()函数

1.2 文件的输入输出函数 键盘.显示器.打印机.磁盘驱动器等逻辑设备, 其输入输出都能够通过文件管理的方法来完毕.而在编程时使用最多的要算是磁盘文件, 因此本节主要以磁盘文件为主, 具体介绍Turbo C2.0提供的文件操作函数, 当然这些对文件的操作函数也适合于非磁盘文件的情况. 另外, Turbo C2.0提供了两类关于文件的函数.一类称做标准文件函数也称缓冲型文件函数, 这是ANSI标准定义的函数; 还有一类叫非标准文件函数, 也称非缓冲型文件函数.这类函数最早公用于UNIX操作系统,

学习使用的PL/0编译器增强版PL/0plusplusCompiler(二)加入支持命令行参数

每次程序运行后输入源码文件名不是很好,于是做了支持命令行参数的改进.大体思路:在main函数入口加入命令行参数,进入main后判断文件名是否为空,为空就退出,否则就继续编译. 在main的括号中加入 int argc, char** argv 在main第一行加入 /*如果没有在命令行中输入文件名会提示输入源码文件名*/ if(argv[1]==NULL){ printf("请输入源程序!\n"); return; } 把这两行注释掉 // printf("Input pl/

在VC工程中添加多语言支持[转]

随着贸易国际化,在软件开发过程中,常会碰到需在现有中文版软件加入多语言支持的情况.由于不同语言版本间的差别通常仅是软件操作界面的不同,为实现多语言支持,使用纯资源DLL是一个不错的解决之道.所谓纯资源DLL是指只包含资源的DLL,譬如:快捷键.对话框.字符串.菜单.工具条.位图.图标.版本信息等等. 具体做法是:利用VC可视化编辑环境为每种语言制作一套资源ID一一对应的资源集并编译生成DLL文件.应用程序初始化时按预设的语言设置选择合适的资源DLL调入,使用资源时依据资源ID进行访问,这样即可实

Matlab中plot函数全功能解析

Matlab中plot函数全功能解析 功能 二维曲线绘图 语法 plot(Y)plot(X1,Y1,...)plot(X1,Y1,LineSpec,...)plot(...,'PropertyName',PropertyValue,...)plot(axes_handle,...)h = plot(...)hlines = plot('v6',...) 描述 plot(Y)如果Y是m×n的数组,以1:m为X横坐标,Y中的每一列元素为Y坐标,绘制n条曲线:如果Y是n×1或者1×n的向量,则以1:n