c语言判断是否存在
❶ c语言判断进程是否存在
获取进程的PID然后写到对应的文件里,每次启动前判断此文件是否存在,当然这种方法不是最可靠的
这个方法最通俗易懂了,可以用多线程实现判断对方的PID等信息是否存在
❷ 用C语言或C++语言判断文件是否存在
一、判断文件夹是否存在:
1.用CreateDirectory(".//FileManege",NULL);如果文件夹FileManege不存在,则创建。
2.或者if(_access(".//FileManege",0)==-1),表示FileManege不存在。
3.或者BOOL PathIsDirectory(LPCTSTR pszPath);二、判断文件是否存在:
1.用if((file=fopen(".//FileManege//F//F.dat","rb"))==NULL)
file=fopen(".//FileManege//F//F.dat","ab+"); // 先判断有无文件,没的话新建一个
2.用if(_access(".//FileManege//F//F.dat",0)==-1),表示文件不存在。 函数int _access( const char *path, int mode );可以判断文件或者文件夹的mode属性
mode=00;//Existence only
mode=02;//Write permission
mode=04;//Read permission
需要包含头文件<io.h>。
❸ c语言判断文件夹是否存在
使用c语言库中的_access()函数判断文件夹是否存在。该函数的参数中文件夹路径中不允许由空格。因此下面的代码运行错误。 其实检查的是e盘的my文件夹。
代码:#include <io.h
#include <stdio.h
#include <stdlib.h
void main( void ){/* Check for existence */
可以使用windows.h中的函数 CreateDirectory("E:\\my programs\\testDir\\testDir\\11", NULL);运行成功。
❹ C语言编程,判断一个数是否存在于一个数组中
#define _CRT_SECURE_NO_DEPRECATE
#include<stdio.h>
#include<malloc.h>
#include<time.h>
#include<stdlib.h>
int findarray(int*p,int len,int val);
int main(void)
{
int len; //数组中元素个数
int i=0; //数组元素下标
int val; //要搜索的数
printf("请为一个随机数数组设定元素个数len=");
scanf("%d", &len);
int*p = (int*)malloc(sizeof(int)*(len+1));
for (i = 0; i < len;++i)
{
p[i]=rand()%101; //0到100的随机数
}
printf("已为你生成随机数组为:\n");
for (i = 0; i < len; ++i)
{
printf("%d ", p[i]);
}
printf("\n");
printf("请输入你要搜索的数val=");
scanf("%d", &val);
if (findarray(p, len, val) == len)
printf("数组中无此元素");
else
printf("数组中有这个元素,在第%d个位置", findarray(p, len, val) + 1);
getchar();
getchar();
return 0;
}
int findarray(int*p, int len,int val)
{
p[len] = val;
for (int i = 0; p[i] != val; ++i)
{
if (p[i] == val)
return i;
}
}
❺ 判断文件是否存在 c语言 函数
排版後如下: int access(const char* szPathName){ #ifdef _WIN32 if ( _access(szPathName, 0) != 0 ) return -1; #else if ( access(szPathName, F_OK) != 0 ) return -1; #endif return 0; } 這是用到 preprocessor. 用在跨平台(platform)的各種編譯器. 各平台的 .h 會不同. 在微軟的平台會定義 _WIN32 這個符號. 所以這段話就成為 int access(const char* szPathName){ if ( _access(szPathName, 0) != 0 ) return -1; return 0; } 在其它平台不會定義 _WIN32 這個符號. 所以這段話就成為 int access(const char* szPathName){ if ( access(szPathName, F_OK) != 0 ) return -1; return 0; }
❻ C语言判断指定文件是否存在
头文件:io.h
功 能: 确定文件或文件夹的访问权限。即,检查某个文件的存取方式,比如说是只读方式、只写方式等。如果指定的存取方式有效,则函数返回0,否则函数返回-1。
用 法: int access(const char *filenpath, int mode); 或者int _access( const char *path, int mode );
参数说明:
filenpath
文件或文件夹的路径,当前目录直接使用文件或文件夹名
备注:当该参数为文件的时候,access函数能使用mode参数所有的值,当该参数为文件夹的时候,access函数值能判断文件夹是否存在。在WIN NT 中,所有的文件夹都有读和写权限
mode
要判断的模式
在头文件unistd.h中的预定义如下:
#define R_OK 4 /* Test for read permission. */
#define W_OK 2 /* Test for write permission. */
#define X_OK 1 /* Test for execute permission. */
#define F_OK 0 /* Test for existence. */
具体含义如下:
00 只判断是否存在
02 只判断是否有写权限
04 只判断是否有读权限
06 判断是否有读并且有写权限
程序例
#include<stdio.h>
#include<io.h>
int file_exists(char *filename);
int main(void)
{
printf("Does NOTEXIST.FIL exist: %s\n",
file_exists("NOTEXISTS.FIL") ?"YES":"NO");
return 0;
}
int file_exists(char *filename)
{
return (access(filename, 0) == 0);
}
头文件:io.h
功 能: 确定文件或文件夹的访问权限。即,检查某个文件的存取方式,比如说是只读方式、只写方式等。如果指定的存取方式有效,则函数返回0,否则函数返回-1。
用 法: int access(const char *filenpath, int mode); 或者int _access( const char *path, int mode );
参数说明:
filenpath
文件或文件夹的路径,当前目录直接使用文件或文件夹名
备注:当该参数为文件的时候,access函数能使用mode参数所有的值,当该参数为文件夹的时候,access函数值能判断文件夹是否存在。在WIN NT 中,所有的文件夹都有读和写权限
mode
要判断的模式
在头文件unistd.h中的预定义如下:
#define R_OK 4 /* Test for read permission. */
#define W_OK 2 /* Test for write permission. */
#define X_OK 1 /* Test for execute permission. */
#define F_OK 0 /* Test for existence. */
具体含义如下:
00 只判断是否存在
02 只判断是否有写权限
04 只判断是否有读权限
06 判断是否有读并且有写权限
程序例
#include<stdio.h>
#include<io.h>
int file_exists(char *filename);
int main(void)
{
printf("Does NOTEXIST.FIL exist: %s\n",
file_exists("NOTEXISTS.FIL") ?"YES":"NO");
return 0;
}
int file_exists(char *filename)
{
return (access(filename, 0) == 0);
}
❼ C语言中怎么判断txt(文本文档)中是否存在内容
你这样FILE
*fp=fopen("文件名","rb");fseek(fp,0,SEEK_END);int
flen=ftell(fp);fseek(fp,0,SEEK_SET);然后你就看flen大小,这个就是文件的字节数。大于0就是有东西。
❽ C语言,判断一个文件是否存在
你贴的这个函数PathFileExists并不是C语言提供的库函数,而是windows系统提供的系统调用,如果你是初学者,尽量用C语言提供的库函数来实现功能,你可以这样:
int exist(char *file) //传入想要判断的路径字符串指针
{
FILE *fp;
fp=fopen(file,"r"); //fopen是一个C库函数,用于打开文件,"r"是只读模式,在这种模式下,如果文件存在,则能成功以只读模式打开,fopen返回一个非0的文件描述符,如果文件不存在,则fopen返回NULL(NULL意思是空)。正好可以利用这一点来判断文件是否存在
if(fp=NULL)
return 0; //不存在返回0
else
{
fclose(fp); //存在的话,要先把之前打开的文件关掉
return 1; //然后返回1
}
}
这样,你就可用这里定义的exist函数判断文件是否存在了。比如
if(exist("a.txt")==0)printf("不存在!");
else printf("存在!");
如果你真想用PathFileExists这个函数,那么也很简单,LPCTSTR你可以简单理解为就相当于char*,这是windows封装的一个数据类型。_in是一个修饰符,表示参数是传入给PathFileExists用的而不是由PathFileExists传出来的。这个函数可以这样用:
if(PathFileExists("a.txt")==FALSE)printf("不存在!");
else printf("存在!");
用这个函数时注意加头文件<windows.h>
有问题请继续追问啊
❾ 怎样让c语言判断文件是否存在
FILE * fp;
fp=fopen("h:\\abc\\x.txt","r");
if(fp==NULL)
{
//不存在
}
else
{
fclose(fp);
}
可以把上述代码封装成一个函数。
其实也可内以考虑用容Windows api 来进行判断