C++读取文件是怎样将绝对路径转化为相对路径

C++读取文件是怎样将绝对路径转化为相对路径,第1张

把需要读取的文件放在可执行程序所在的文件夹中,即可直接使用相对路径。如果待读取文件在其他文件夹,必须使用绝对路径。

1、C语言标准库提供了一系列文件 *** 作函数。文件 *** 作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdioh头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件 *** 作位置的获取与设置。

2、例程:

#include<stdioh>

int a;

char b,c[100];

int main(){

    FILE  fp1 = fopen("inputtxt", "r");//打开输入文件,放在执行程序所在目录下

    FILE  fp2 = fopen("outputtxt", "w");//打开输出文件

    if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出

        puts("不能打开文件!");

        rturn 0;

    }

    fscanf(fp1,"%d",&a);//从输入文件读取一个整数

    b=fgetc(fp1);//从输入文件读取一个字符

    fgets(c,100,fp1);//从输入文件读取一行字符串

    

    printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数

    

    fputs(c,fp2);//向输出文件写入一行字符串

    fputc(b,fp2);//向输出文件写入一个字符

    fprintf(fp2,"%d",a);//向输出文件写入一个整数

    

    fclose(fp1);//关闭输入文件

    fclose(fp2);//关闭输出文件,相当于保存

    return 0;

}

从你的代码看,你是要在java类里获取相对路径类名classgetResourceAsStream()可以获取到同你这个类相同路径下的文件SystemgetProperty("userdir")可以获取到工程src的路径,下面就可以自己加路径了嘛提醒一点。src/com/sigls/model/filter/tttxt";最好不要这样写。不同版本的JDK对这个/是有区别的,最好用Fileseparator就相当于/但是在不同版本也是\所以用Fileseparator就可以避免这点

File类有两个常用方法可以得到文件路径一个是:getCanonicalPath(),另一个是:getAbsolutePath(),可以通过File类的实例调用这两个方法例如filegetAbsolutePath()其中file是File的实例对象。下面是一个具体例子: public class PathTest

个人理解,相对路径是指软件运行时即时获取的需要调用的文件的当前路径

使用的方法就是按编程语言来确定的:比如说 VB6 是使用 APPPATH来获取当前的程序运行路径,其它语言也有相对应的命令注意有些语言获取到的相对路径最后一个字符不是"\" 需要判断是否需要添加

package comhmilyldexp;

import javaioFile;

public class ListFile {

private long[] count = new long[] ;

private File file;

private long[] listFile(String path) {

file = new File(path);

File[] f = filelistFiles();

for (int i = 0; i < flength; i++) {

if (f[i]isDirectory()) {

count[0]++;

thislistFile(f[i]getPath());

} else {

count[1]++;

}

}

return count;

}

/

得到指定路径下的文件和文件夹数量

@param path

要查看的路径

@return object[0]耗时(毫秒)<br>

object[1]文件夹数量<br>

object[2]文件数量

/

public Object[] getFileCount(String path) {

long t = SystemcurrentTimeMillis();

long[] count = thislistFile(path);

t = SystemcurrentTimeMillis() - t;

Object[] o = new Object[] { LongvalueOf(t), LongvalueOf(count[0]),

LongvalueOf(count[1])};

return o;

}

public static void main(String[] args) {

ListFile l = new ListFile();

Object[] count = lgetFileCount("d:\\");

Systemoutprintln(count[0]);

Systemoutprintln(count[1]);

Systemoutprintln(count[2]);

}

}

以前写的一个获取目录下有多少文件和多少文件夹的代码,

可以参考下:)

以上就是关于C++读取文件是怎样将绝对路径转化为相对路径全部的内容,包括:C++读取文件是怎样将绝对路径转化为相对路径、java 怎样获取一个文件相对路径、后台获取static/public某个文件夹下,相对路径怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9302208.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存