Ⅰ c语言中 文件路径\和\\有什么区别吗
Unix使用斜杆/ 作为路径分隔符,而web应用最新使用在Unix系统上面,所以目前所有的网络地址都采用 斜杆/ 作为分隔符。Windows由于使用 斜杆/ 作为DOS命令提示符的参数标志了,为了不混淆,所以采用 反斜杠\ 作为路径分隔符。所以目前windows系统上的文件浏览器都是用 反斜杠\ 作为路径分隔符。随着发展,DOS系统已经被淘汰了,命令提示符也用的很少,斜杆和反斜杠在大多数情况下可以互换,没有影响。知道这个背景后,可以总结一下结论:(1)浏览器地址栏网址使用 斜杆/ ;(2)windows文件浏览器上使用 反斜杠\ ;(3)出现在html url() 属性中的路径,指定的路径是网络路径,所以必须用 斜杆/ ;(4)出现在普通字符串中的路径,如果代表的是windows文件路径,则使用 斜杆/ 和 反斜杠\ 是一样的;如果代表的是网络文件路径,则必须使用 斜杆/ ;斜杆/ 和 反斜杠\ 的区别基本上就是这些了,下面再讨论一下相对路径和绝对路径。./SRC/ 这样写表示,当前目录中的SRC文件夹;../SRC/ 这样写表示,当前目录的上一层目录中SRC文件夹;/SRC/ 这样写表示,项目根目录(可以只磁盘根目录,也可以指项目根目录,具体根据实际情况而定)
Ⅱ c如何获得FILE*的路径
关于通过 C 语言编程获取到某个文件的完整路径、以及文件名称的问题,那是毫无疑问可内以做容到的。但是具体的编程我由于已经好多年没有编写 C 语言程序了。故具体的程序调试过程需要你自己进行完成了。关于这部分的问题,我记得 C 语言库函数大全上面肯定是有的,你可以参考有关 C 语言库函数的教材。但是注意一点就是:如果是在 WINDOWS 系统下面的编程,那么路径名必须使用双斜线,即:\\ 才行。例如:若想表示打开驱动器 D 上的 MY_SUBDIR 子目录下面的 MYFILE.TXT 文件,则在 C 语言源程序中要写为如下代码:#include <stdio.h>void main( ){FILE * fpr ;fpr = fopen("D:\\MY_SUBDIR\\MYFILE.TXT", "r") ; /* 这样写才是正确的语句。*/……fclose(fpr) ;}
Ⅲ 用C语言如何从路径名中分离文件名
void*GetFilename(char*p){intx=strlen(p);charch='\';char*q=strrchr(p,ch)+1;returnq;}intmain(){charp[]="D:\SoftWare\Adobe\Photoshop5.exe";printf("%s",GetFilename(p));return0;}
charp[]="D:\SoftWare\Adobe\Photoshop5.exe";
中的双斜杠是赋值时用到的,如果路径名是其它方式专获取到,就不需要用到双属斜杠!
Ⅳ c语言如何获得文件当前路径
C语言里在main函数来的第二个参数里面,自保存着当前程序运行的目录也就是argv[0]main( int argc, char *argv[]){ printf("%s ", argv[0] );}就是文件当前所在位置不过需要注意的一点是这个路径里面保存了当前文件的文件名如果你只是需要路径的话还需要自己操作一下main(int a,char *c[]){ char s[100]; int i; //把路径保存到字符串s里 strcpy(s,c[0]); for(i=strlen(s); i>0 ; i–) if( s[i] == '\\') { s[i]='\0'; break; } //找到最后一个 \ 并删除之后的内容 //最后输出的s,就是当前文件的路径了 puts(s);}
Ⅳ c语言程序如何设置默认路径
可以为main函数增加两个参数intmain(intargc,char*argv[]){return0;}argc是命令行参数的个数,argv是一个字符串数组,代表以空格分隔的命令行参数,其中argv[0]是程序自身的路径(包括文件名)。也可以使用api函数getmolefilename,用法如下,需要包含头文件windows.h和tchar.htcharszfile[max_path]={0};dworddwlen;//返回路径长度dwlen=getmolefilename(null,szfile,max_path);此时,szfile中保存了程序本身的路径,可以将最后的扩展名改为txt即可得到一个与程序同路径同名的文本文件名,将数据写入其中即可。代码如下:szfile[dwlen-3]=0;_tcscat(szfile,_t("txt"));此时,szfile就是一个文件文件路径了,可以直接用。我想,你所说的默认路径,可以先把一个路径(想要的默认路径)保存到一个字符数组中,输入文件名后,用strcat函数把文件名连接到默认路径的后面就可以了。如果要改变路径,就用strcpy直接把新的路径复制到字符数组中。
Ⅵ 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;} 如果对您有帮助,请记得采纳为满意答案,谢谢!祝您回生活愉快答!
Ⅶ C语言中要读一个文件需要文件路径么
文件不在执行程序的文件夹内,就需要完整的文件路径。在文件夹内,使用文件名即可。
1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。
例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。一般的C语言教程都有文件操作一章。
(7)c文件名路径扩展阅读:
C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。对于要先做判断再选择的问题就要使用选择结构。选择结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。
选择结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的选择语句。选择结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图。
然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。程序流程图是根据解题分析所绘制的程序执行流程图。
参考资料来源:网络-C语言
Ⅷ c语言如何获取用户通过键盘输入的文件目录中的文件名和文件路径,ballball大佬帮帮我🙏求代码
int main(){string s = "c:\\abc\\def\\text.txt";int xie_index = s.find_last_of('\\');制// 路径中最后一个\的位置 string file_dirname = s.substr(0, xie_index + 1);string file_basename = s.substr(xie_index + 1, s.size());cout << file_dirname << endl << file_basename << endl;}
Ⅸ 正确的文件名加路径是怎样的格式
ROOTKIT.AGENT.EP是病毒名,不是文件名正确的路径名是:D:\windows\system32\rdriv.sys少了一个“\”其中rdriv.sys才是文件名
Ⅹ c语言保存文件到指定的路径和文件名
fp=fopen(filename,"wb");里的filename就表示了文件的路径及文件名,所以要把输入的文件名和文件路径拼接起来,计算出这个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语言打开文件的路径问题