Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;替换/更新.dat文件中的二进制行 我知道这个代码不是最适合使用的(我只是C++新手,时间紧)_C++_Binary_Fwrite - Fatal编程技术网

C++;替换/更新.dat文件中的二进制行 我知道这个代码不是最适合使用的(我只是C++新手,时间紧)

C++;替换/更新.dat文件中的二进制行 我知道这个代码不是最适合使用的(我只是C++新手,时间紧),c++,binary,fwrite,C++,Binary,Fwrite,我需要更新二进制文件中的一行。我得到了inti值,这是我应该更改的行号 结构如下: typedef struct { string nome; string morada; string codpostal; string localidade; int telefone; int nContribuinte; } CLIENTE; 这被保存到PSI.dat和fwrite(&Clt,sizeof(Clt),1,f)中其中Clt是CLIENTE C

我需要更新二进制文件中的一行。我得到了
inti
值,这是我应该更改的行号

结构如下:

typedef struct {
    string nome;
    string morada;
    string codpostal;
    string localidade;
    int telefone;
    int nContribuinte;
} CLIENTE;
这被保存到
PSI.dat
fwrite(&Clt,sizeof(Clt),1,f)中其中
Clt
CLIENTE Clt
。我要更新的行的方式如下:

Clt
已由用户用更新的信息填充

i
是通过
获得的,而(infle>>line){if(line==n){break;}i++;}
其中
n
是获取信息位置的用户输入

    fwrite(&Clt, sizeof(Clt), 1, f); // Instead of writing, this should replace line 'i' from PSI.dat

    fclose(f);

我需要代码示例来让我继续下去,因为我真的被困在这一部分。

我纠正了自己,错误的单词选择:)C++ Windows控制台投影>代码>字符串< /代码>是C++ >代码> STD::String < /Cord>这是未定义的行为