1. c语言程序如何设置默认路径
可以为main函数增加两个参数int main(int argc,char* argv[]){ return 0;}argc 是命令行参数的个数,argv是一个字符串数组,代表以空格分隔的命令行参数,其中 argv[0] 是程序自身的路径(包括文件名)。也可以使用API函数 GetMoleFileName ,用法如下,需要包含头文件 windows.h 和 tchar.hTCHAR szFile[MAX_PATH] = {0};DWORD dwLen ; //返回路径长度dwLen = GetMoleFileName(NULL,szFile,MAX_PATH);此时,szFile 中保存了程序本身的路径,可以将最后的扩展名改为 txt 即可得到一个与程序同路径同名的文本文件名,将数据写入其中即可。代码如下:szFile[dwLen -3] = 0;_tcscat(szFile,_T("txt"));此时,szFile 就是一个文件文件路径了,可以直接用。 我想,你所说的默认路径,可以先把一个路径(想要的默认路径)保存到一个字符数组中,输入文件名后,用 strcat 函数把文件名连接到默认路径的后面就可以了。如果要改变路径,就用 strcpy 直接把新的路径复制到字符数组中。
2. c语言读取文件的路径怎么设定
//获取指定目录下的所有文件列表 author:wangchangshaui jlu char** getFileNameArray(const char *path, int* fileCount) { int count = 0; char **fileNameList = NULL; struct dirent* ent = NULL; DIR *pDir; char dir[512]; struct stat statbuf; //打开目录 if ((pDir = opendir(path)) == NULL) { myLog("Cannot open directory:%s\n", path); return NULL; } //读取目录 while ((ent = readdir(pDir)) != NULL) { //统计当前文件夹下有多少文件(不包括文件夹) //得到读取文件的绝对路径名 snprintf(dir, 512, "%s/%s", path, ent->d_name); //得到文件信息 lstat(dir, &statbuf); //判断是目录还是文件 if (!S_ISDIR(statbuf.st_mode)) { count++; } } //while //关闭目录 closedir(pDir); // myLog("共%d个文件\n", count); //开辟字符指针数组,用于下一步的开辟容纳文件名字符串的空间 if ((fileNameList = (char**) myMalloc(sizeof(char*) * count)) == NULL) { myLog("Malloc heap failed!\n"); return NULL; } //打开目录 if ((pDir = opendir(path)) == NULL) { myLog("Cannot open directory:%s\n", path); return NULL; } //读取目录 int i; for (i = 0; (ent = readdir(pDir)) != NULL && i < count;) { if (strlen(ent->d_name) <= 0) { continue; } //得到读取文件的绝对路径名 snprintf(dir, 512, "%s/%s", path, ent->d_name); //得到文件信息 lstat(dir, &statbuf); //判断是目录还是文件 if (!S_ISDIR(statbuf.st_mode)) { if ((fileNameList[i] = (char*) myMalloc(strlen(ent->d_name) + 1)) == NULL) { myLog("Malloc heap failed!\n"); return NULL; } memset(fileNameList[i], 0, strlen(ent->d_name) + 1); strcpy(fileNameList[i], ent->d_name); myLog("第%d个文件:%s\n", i, ent->d_name); i++; } } //for //关闭目录 closedir(pDir); *fileCount = count; return fileNameList
3. C语言中要读一个文件需要文件路径么
文件不在执行程序的文件夹内,就需要完整的文件路径。在文件夹内,使用文件名即可。
1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。
例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。一般的C语言教程都有文件操作一章。
(3)c文件路径选择扩展阅读:
C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。对于要先做判断再选择的问题就要使用选择结构。选择结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。
选择结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的选择语句。选择结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图。
然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。程序流程图是根据解题分析所绘制的程序执行流程图。
参考资料来源:网络-C语言
4. 怎么用标准C/C++打开windows explorer,选择文件,获取文件或文件夹路径
char szDir[100] ={0};char szPath[255] = {0};BROWSEINFO bi ;bi.hwndOwner = m_hWnd ;bi.pidlRoot = NULL ;bi.lParam = NULL ;bi.lpfn = NULL;bi.lpszTitle = "选择";bi.iImage = NULL ;bi.ulFlags = BIF_BROWSEINCLUDEFILES ;bi.pszDisplayName = szDir ; //存放的文件名字专ITEMIDLIST *pidl = ::SHBrowseForFolder(&bi);SHGetPathFromIDList(pidl,szPath); // szPath返回的是完全属路径
5. C语言怎么选择保存的文件夹啊
在c语言中因为它不能识别汉字,所以你所要保存的文件的文件名最好设为英文字母,然后在保存的时候指定你的文件路径就可以了。
6. C语言打开文件的路径问题
#include<stdio.h> int main(void) { int a, sum; FILE *ifp, *ofp; sum = 0; if((ifp = fopen("C:\Users\huangwj\Desktop\h.txt", "rt"))==NULL) { printf("not in"); return 0; } if((ofp = fopen("C:\Users\huangwj\Desktop\yes.txt", "wt"))==NULL) { printf(" out!!"); return 0; } while( fscanf(ifp, "%d", &a) != EOF) sum += a; fprintf(ofp, "The sum is %d. \n", sum); fclose(ifp); fclose(ofp); return 0;} 如果对您有帮助,请记得采纳为满意答案,谢谢!祝您回生活愉快答!
7. C++ /C 怎么才能弹出文件选择框,然后获取所选文件的路径,而不需要每次都手动输入路径
文件选择框是mfc的范围,你只能自己去封装一个,c/c++是没有这个东西的。mfc是微软的标准库,是基于windows操作系统的,linux上无法使用。自己封装一个也不难。
8. c语言怎么保存文件到指定的路径
fp=fopen(filename,"wb");里的就表示了文件的路径及文件名,所以要把输入的文件名和文件路径拼接起来,计算出这个filename最好过滤一下别让路径和文件名中有非法字符,比如:\/+<>什么的。scanf也限制一下长度。scanf("%19s",filename);scanf("%19s",path);参考如下:#include <stdio.h>#include <stdlib.h>int main(void){ FILE *fp; char ch, filename[20], path[20],buffer[40]; printf("Enter the file name: "); scanf("%s",filename); printf("Enter the path: "); scanf("%s",path); sprintf(buffer, "%s\\%s", path,filename); printf("\nto end input ,press Ctrl+Z in newline,then ENTER:\n"); if((fp=fopen(buffer,"wt+"))==NULL) { printf("no such path, \nstrike any key exit!"); getch(); exit(1); } while ((ch=getchar())!=-1) ch=fputc(ch,fp); fclose(fp); printf("==================================\n\n"); printf("file path \"%s\" \nfile name \"%s\":\nand its content:\n",path,filename); fp=fopen(buffer,"rt"); while ((ch=fgetc(fp))!=-1) putchar(ch); fclose(fp); return 0;
未经允许不得转载:山九号 » c文件路径选择|C语言打开文件的路径问题