小编And*_*rdi的帖子

双时态表实际在什么情况下使用?

我正在尝试收集有关时态数据库的信息。我知道这不是一项现代技术,但我看到许多使用数据库的人都不知道时态方法是如何工作的(我向一些高级程序员和系统分析师询问了时态数据库,他们的回答类似于“嗯?”) 。

我知道有有效时间状态表和事务时间状态表,以及双时态表。我认为双时态表对于大多数用途来说都太复杂了,因为现在空间不再是问题,而且即使数据是冗余的,在两个不同的表上写入相同的信息会更有效。然而,我在网上做了很多搜索,试图了解双时态表的实际使用情况,但没有找到任何有用的东西。

是否存在使用双时态表确实比分别使用有效时间和事务时间状态表更方便的情况?有现实世界的例子吗?

database temporal-database bi-temporal

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

我可以在二进制文件中使用fgetc()或fputc()吗?

我正在用C创建一个归档程序,我想要它保存我提供的文件,列出并提取它们.
我有很多问题,因为我使用文本文件进行保存,如果我想处理音乐或照片等二进制文件,它不是最佳选择,因为当我提取它们时,它们没有正确执行(它们已损坏).为了解决这个问题,我想创建一个二进制存档文件.

文件写入代码(提取时)如下:

void scriviFile(const char * arrivo)                                //scrive i file creati in precedenza
{
    FILE * partenza;
    FILE * target;
    int c;
    int spazio = 'a';
    int i = 0;
    int pos;
    char * path;
    path = collegaSlash(getcwd(NULL, 0), nome);
    partenza = fopen(path, "rb");
    fseek(partenza, inizio, SEEK_SET);
    target = fopen(arrivo, "wb");                                           //apro il file
    if (target) {                                                               //se è aperto
        while ((c = fgetc(partenza)) != EOF && ftell(partenza)<=fine-10) {                                  //e il carattere preso non eccede la fine del file …
Run Code Online (Sandbox Code Playgroud)

c fwrite fread fgetc

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

逐字逐句地读取文件

我有一个自定义存档结构如下:

%list% name1 name2 name3 %list%

%dirs% archive directories %dirs%

%content% name1 path1 content of file1 %content%
%content% name2 path2 content of file2 %content%
%content% name3 path3 content of file3 %content%
Run Code Online (Sandbox Code Playgroud)

%list%包含存档中文件的名称
%dirs%包含目录名称
%content%列出文件内容.

由于我需要打印指定文件的内容,我想逐字阅读此存档,以便识别%content%标签和文件名.
我知道它的存在fscanf(),但只有你知道存档模式它似乎才有效.

是否有C库或命令,如ifstreamC++,允许我逐字阅读?

谢谢

c file scanf

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

C - 列出文件夹和所有子文件夹中包含的文件

我有一个函数读取单个输入目录中包含的所有文件.
我想让该函数不仅读取"main"目录中的文件,还读取所有子目录中包含的文件.

为了做到这一点,我写了这段代码:

#include <sys/types.h>
#include <dirent.h>
#include <errno.h>
#include <stdio.h>

struct dirent *readdir(DIR *dirp);
char * percorso;
DIR *cartella;
struct dirent *elemento;



char * scrivi(char * a, char * b)
{

char *targetdir = malloc(2048);
strcpy(targetdir,a);
strcat(targetdir,"/");
strcat(targetdir,b);

printf("%s \n", targetdir); 
return targetdir;
}    

void scorriFolder(char* nome)
{
if ((cartella = opendir(nome)) == NULL)         
    perror("opendir() error");                      
else {
    printf("contents of root: \n");
    while ((elemento = readdir(cartella)) != NULL)
    {                                               
        if(elemento->d_type == DT_DIR)
        {
            if(elemento->d_name != ".." || elemento->d_name != …
Run Code Online (Sandbox Code Playgroud)

c directory readdir subdirectory

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