c语言文件被
❶ c语言打开文件前,如何判断该文件是否已经被打开
打开文件要用FOPEN吧
FILE
*fp;
fp
=
fopen(
"Student.dat",
"wb"
);
先判断这个指针是否为NULL就行了啊~
❷ C语言中保存的文件只能被读取一次
fp2=fopen("student.txt","r");
这是因为你第二次打开时文件己成在,所以是用只读打开的,应是无法保存的。
❸ c语言:exe(可执行文件)是如何被执行的
.exe--是可在操作系统存储空间中浮动定位的可执行程序
.c文件生成.exe文件的过程,经历了预处理,编译,汇编,链接,这四个过程
1.预处理--主要处理源代码中的预处理指令,引入头文件,去除注释,处理所有的条件编译指令,宏的替换,添加行号,保留所有的编译器指令。(生成.i文件)
2.编译--进行的是对预处理后的文件进行语法分析,词法分析,语义分析,符号汇总,然后生成汇编代码。(生成.s文件)
3.汇编--将汇编代码转成二进制文件,二进制文件就可以让机器来读取。(生成一个重定位目标文件,linux下是.o文件,windows下是.obj文件)
4.链接--合并段表,然后把符号表合并并且对符号表进行重定位。
❹ c语言如何判断一个文件是否被修改
可以用 文件状态 ,例如 文件建立时间,文件最后一次修改时间,文件最后一次被访问的时间,做判断。
获取文件状态用:
#include <io.h>
int get_namein_time(char *namein, char * ftime){
struct _finddata_t fileinfo;
int res,DEBUG=0,flag=0;
if ( (res = _findfirst(namein, &fileinfo)) == -1){
if (DEBUG==1) printf("get file info error !\n");
return 0;
};
if ( strcmp(namein,fileinfo.name)==0 ) {
flag=1; goto Lab;
}
do {
if ( strcmp(namein,fileinfo.name)==0 ) {flag=1;goto Lab;}
} while ( _findnext(res, &fileinfo) ==0);
Lab: strcpy(ftime,ctime(&fileinfo.time_write));
_findclose(res);
return flag;
}
最可靠的是用文件的哈希码判断,就是区块链中用的方法。
例如视窗系统,调用系统 Certutil 计算出 文件的 哈希码,与文件原来的码对比。若变了,就是被修改了。
Certutil -hashfile abc.txt MD5 这个检查 文件 abc.txt
Certutil -hashfile XYZ.txt SHA512 这个检查 文件 XYZ.txt
❺ 怎样防止编译后的C语言文件被反编译
app反编译后防止接口泄露的方法,就是使用谷歌提供的混淆工具,将不要反编译的文件保留,其他的都进行混淆,这样之后反编译看到的都是一些乱码,例如abc之类的。
❻ C语言程序:文件应该放在哪才可以被读取
如果你用的是VC,则你要把数据文件book.txt放到你的程序所在工程下,才可以读到!
注意文件扩展名不要写多了!写成:book.txt.txt
❼ c语言读写文件如何判断某文件被占用
一般情况下是无法判断的!
除非,采用相同的程序进行打开,而这个程序在打开文件前进行判断,如果未占用,则设置一个占用标志,这样,下一个用本程序打开文件时,才会检测到。 在程序对文件操作完成后,关闭这个占用标志。
❽ 在C语言中,我们如何判断一个文件是否已经被创建了呢
FILE *fp;
fp=fopen("file.txt" , "r");
if ( fp == NULL )
printf("file not exist!");
else
fcolse(fp);
另外:
int access(char *path, int amode);
int stat(const char *path, struct stat *buf);
int lstat(const char *path, struct stat *buf);
以上函数都可以判断文件是否存在,可查阅相关文档,看其详细用法
❾ C语言文本文件中的具体内容能被修改吗 谢谢啦!
当然能.不过不清楚你说的是C源文件还是说用C程序打开的文件.如果说是C源文件,用普通的记事本就可以改.如果是读取文件,那就要用关于文件的函数fopen, fclose, fprintf, fscanf, fputs, fgetc, fgetc, fputc等
❿ c语言打开文件前,如何判断该文件是否已经被打开
用_access函数判断,再次打开时的情况要看你第一次的打开方式了,如果上次用的是非独占打开,那没问题,如果是独占打开,会打开失败
Example
/* ACCESS.C: This example uses _access to check the
* file named "ACCESS.C" to see if it exists and if
* writing is allowed.
*/
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
void main( void )
{
/* Check for existence */
if( (_access( "ACCESS.C", 0 )) != -1 )
{
printf( "File ACCESS.C exists\n" );
/* Check for write permission */
if( (_access( "ACCESS.C", 2 )) != -1 )
printf( "File ACCESS.C has write permission\n" );
}
}