标签: file-io

将双精度数组写入文件时出现问题

我有一个非常大的双精度数字数组……我尝试使用 fprintf() 将它写入文件中……我需要在每一行中写一个这些数字,所以我做了这样的事情。

if((fp2 = fopen("temp", "w")) == NULL) { perror("File cannot be opened"); exit(1); }

for(int k = 0; k < j; k++ )
{
fprintf(fp2, "%0.3lf\n", diff[k]);  
}
Run Code Online (Sandbox Code Playgroud)

但是,存在一个问题,它将数据写入一定数量的行,然后我给出全零。例如

3.040
0.700
-2.740
0.000
0.000
0.000
0.000
0.000
0.000
Run Code Online (Sandbox Code Playgroud)

我真的不明白可能是什么问题。为什么当数组中有值时它将所有值都写为 0.000。

如果有帮助,这里是 diff 的实现方式。

            diff = (double *)malloc(fileSize);

        diff[0] = data[0];


        for(j = 1; j < n; j++ )
        {
            diff[j] = data[j] - data[j-1];
        }
Run Code Online (Sandbox Code Playgroud)

文件中的值存储在 data[] 中。然后我将 data[] 中相邻值的差异计算到 diff[] 并将其写回另一个文件。fileSize 是原始文件的大小。而且我确信 diff[] 中的所有值都已正确填充。

c file-io printf

1
推荐指数
1
解决办法
6431
查看次数

从 Resources.resx 获取文件路径

如何从 Resources.resx 文件中的文件获取路径?

我有以下代码:

var value = Properties.Resources.ErrorLog;
Run Code Online (Sandbox Code Playgroud)

其中 ErrorLog 是 .txt 文件。该代码返回文件的内容而不是路径。右键单击并查看它所在的位置不是一个选项,因为该项目在多台计算机上使用。

c# file-io logging resx visual-studio

1
推荐指数
1
解决办法
1975
查看次数

使用 fgets 检测 C 语言中的 EOL

我正在尝试使用以下命令从文件中读取一行...

 while(fgets(c,BUF,f) != EOL){
   puts(c);
 }
Run Code Online (Sandbox Code Playgroud)

EOL =#define EOL '\n'但是,我收到警告...comparison between pointer and integer

实现我正在尝试的正确方法是什么?

c file-io

1
推荐指数
1
解决办法
2万
查看次数

java - 读取由unicode字符终止的文件

我有一个特殊的文件,其中的行被终止 '\001'.

我想逐行阅读这个文件.我一直在用Files.lines(path).但现在这个失败了,因为这些行没有被换行符终止.

什么是最好的方法?

java file-io java-8

1
推荐指数
1
解决办法
131
查看次数

Python有8KiB字节的长文件I/O缓存吗?

我正在调查Python 3.6.0中的文件I/O性能.鉴于此脚本包含3个测试:

#!python3

import random, string, time

strs = ''.join(random.choice(string.ascii_lowercase) for i in range(1000000))
strb = bytes(strs, 'latin-1')

inf = open('bench.txt', 'w+b')
inf.write(strb)

for t in range(3):
    inf.seek(0)
    inf.read(8191)

for t in range(3):
    inf.seek(0)
    inf.read(8192)

for t in range(3):
    inf.seek(0)
    inf.read(8193)

inf.close()
Run Code Online (Sandbox Code Playgroud)

Procmon发现以下操作发生(标签行是我的评论):

  # Initial write
Offset: 0, Length: 1.000.000
  # The 3 8191-long reads only produce one syscall due to caching:
Offset: 0, Length: 8.192
  # However, if the read length is exactly 8192, python doesn't take advantage:
Offset: …
Run Code Online (Sandbox Code Playgroud)

python windows file-io caching python-3.x

1
推荐指数
1
解决办法
398
查看次数

无法删除arraylist中的项目

案件:

我正在向我的arraylist添加对象,在我将对象添加到我的arraylist之前,我检查是否已经存在相同的对象.之后我尝试将完整的arraylist重写为文本文件.

码:

WaardeObjecten obj = new WaardeObjecten(index.ToString(), allFiles[index].ToString(), values[0], values[1], values[2], values[3], values[4], values[5], values[6], values[7], values[8], values[9], values[10], values[11], values[12], values[13], values[14], values[15], values[16], values[17]);    

//Check if duplcatie
foreach (WaardeObjecten item in listOfWaardeObjecten)
{
      if (item.getIndex() == obj.getIndex())
      {
               listOfWaardeObjecten.Remove(item);
      }
}

//Add to arraylist
listOfWaardeObjecten.Add(obj);

//writedata to log file
writeLogFile();
Run Code Online (Sandbox Code Playgroud)

将所有arraylist元素写入.txt文件的代码:

//Creating a streamwriter to write to the file with the path of logFileName.
using (FileStream fs = new FileStream(logFileName, FileMode.Truncate, FileAccess.Write))
using (var sw = new …
Run Code Online (Sandbox Code Playgroud)

c# file-io

1
推荐指数
1
解决办法
63
查看次数

读取资源文件夹中的JSON或文本文件

我正在开发Kotlin应用程序.我正在尝试读取存储在资源文件夹(res/raw/file.txt)中的文本和JSON文件.看看app结构的层次结构,我把绝对路径(../../ res/raw/file.txt)放到文件阅读器中.

不幸的是,我的应用无法找到该文件.

你能告诉我如何读取存储在res/raw中的文件吗?如果我将文件存储在错误的目录中,您能告诉我存储位置以及如何访问它们吗?

谢谢

file-io android kotlin

1
推荐指数
1
解决办法
1505
查看次数

覆盖C中的文件实际上会破坏它吗?

当我用fopen(filename,"w")打开文件时; 并且在该文件上写入数据,旧数据是否实际被覆盖,或者新数据是否会被写入其他地方并且旧数据被解除分配?

(假设新数据与旧数据大小相同)

c file-io file

1
推荐指数
1
解决办法
87
查看次数

在C中省略参数名称

因此,我要遍历C语言中文件I / O的一些代码,并在临时Cat函数的一行上感到困惑。

我主要对main的这一行感到困惑:

void filecopy(FILE *, FILE *);
Run Code Online (Sandbox Code Playgroud)

我们没有指定要传递给ifp和ofp的文件的名称,所以我不确定这行在做什么。

/* filecopy: copy file ifp to ofp */
void filecopy(FILE *ifp, FILE *ofp) {

    int c; 

    while((c = getc(ifp)) != EOF){
        putc(c, ofp); 
    }
}


/* cat: concatenate files, version 1*/
int main(int argc, char **argv) {

    FILE *fp;
    void filecopy(FILE *, FILE *);

    if(argc == 1){ /*no args: copy standard input */
        filecopy(stdin, stdout);
    }else{
        while(--argc > 0){
            if((fp = fopen(*++argv, "r")) == NULL){
                printf("cat: can't open %s\n", *argv); …
Run Code Online (Sandbox Code Playgroud)

c file-io

1
推荐指数
1
解决办法
58
查看次数

在编译时读取文件(constexpr或其他)

C ++ 17是否提供任何在编译时加载/读取文件的方式?更具体地说,我想将文件的内容加载到const char*std::string_view等等。例如:

    constexpr const char* read_file_content(const char* file_path) {
        /* should read in the content of the file and return it */
        return "";
    }

    constexpr const char* file_path    = "some/folder/file.json";
    constexpr const char* file_content = read_file_content(file_path);
Run Code Online (Sandbox Code Playgroud)


我遇到过这个答案是否可以在编译时读取文件?从2014年开始。teivaz的解决方案使用一些宏和#include魔术完美地工作了。但是,它需要更改输入文件:该文件应将其内容包含在STR(...)中,但这可能并不总是可能的。

由于上述答案很旧,我认为可能情况已经改变,也许C ++ 17(或可能的C ++ 20)提供了一些功能来克服此问题。

c++ file-io constexpr c++17

1
推荐指数
1
解决办法
165
查看次数

标签 统计

file-io ×10

c ×4

c# ×2

android ×1

c++ ×1

c++17 ×1

caching ×1

constexpr ×1

file ×1

java ×1

java-8 ×1

kotlin ×1

logging ×1

printf ×1

python ×1

python-3.x ×1

resx ×1

visual-studio ×1

windows ×1