新手C语言,文件系统IO问题

发布于 科技 2024-02-05
9个回答
  1. 匿名用户2024-01-25

    姓名、编号、年龄。

    因为写法不同,阅读方式也不同,我省略了这一行,文件的内容:

    张三 0105 34

    李思 0106 33

    王 5 0107 32

    这是我的标准程序:

    请注意,该文件和 C 文件应位于同一目录中。

    #include

    #define st (struct student*)malloc(sizeof(struct student))

    typedef struct studentss;ss* readstu(ss* head);读取 void display(ss *head); 打印 void writestu(ss* head); 写入 ss* min(ss* head); 排序 ss* readstu(ss* head) free(p1);

    p1=null;

    fclose(fp);

    return(head);

    void writestu(ss* head)}fclose(fp);

    主要功能。 int main()

    void display(ss *head)}ss* min(ss* head)

    if(first == null)

    elseif(min == head)

    elseif(first != null)

    head = first;

    return(head);

    输出: King 5 0107 32

    李思 0106 33

    张三 0105 34

    您可能在文件中看不到换行符,但这没关系,您可以重复阅读它。

  2. 匿名用户2024-01-24

    typedef struct _studentstudent, *pstudent;

    读取一行中的前几个字符串,空格和回车符作为分隔符 char* getword(char* buf, int buflen, int num)。

    tail->next = pnode;

    tail = pnode;

    sum++;

    char* tmp;

    tmp = getword(buf, 256, 0);

    strcpy(pnode->name, tmp);

    tmp = getword(buf, 256, 1);

    pnode->id = atoi(tmp);

    tmp = getword(buf, 256, 2);

    pnode->age = atoi(tmp);

    memset(buf, 256, 0);

    fclose(pf);

    排序。 pstudent pwork, pworkprev, pnodeprev, pnode, tmphead=null, tmptail=null;

    int n=0;

    while(head)

    pworkprev = pwork;

    pwork = pwork->next;}//if(pnode == head)

    elsepnode->next = null;

    if(n==0)

    elsen++;

    排序结束。

    写入文件。 pf = fopen(filename, "w");

    pwork = tmphead;

    while(pwork)

    fclose(pf);

    system("pause");

    return 0;}

    该文件内容如下:

    李思 201 20

    张三 101 30

    列王纪 5:102-33

  3. 匿名用户2024-01-23

    您正在谈论的标题名称不正确。 C 语言 ** 到文件系统? 文件系统是操作系统上的一个相关概念。 你想说的应该是关于C语言中与文件相关的操作。

    我们知道C的基本点是指针,所以文件的操作也是通过纸板文件的文件类型的指针来实现的。 它包括 open(file*)、close(file*) 等。

  4. 匿名用户2024-01-22

    文件功能,文件操作数据很多。

  5. 匿名用户2024-01-21

    fprintf(fp,"%d%d...",a,b,c,d...

    更改为:fprintf(fp,"%d\t%d\t...",a,b,c,d...

    输出数据由缺少的空格字符(空格、跳过或回车符)分隔。

  6. 匿名用户2024-01-20

    您的**重要2点:

    1.输入字符串不需要地址字符&,读取时也不需要,输入和读取其实是同一个概念,不需要指定长度。

    2.在结构中指定了输入字符的长度,如果输入较多虽然没有编译错误,则会出现数据溢出,并且当您再次读取或查看数据时,会出现乱码,或者数据位置错误,scanf无法摄取空格,换行符, 等等,一般都想用gets()来存储字符串。

    ps:其实文件的读取和它的存储方式有关,是二进制还是accii要区分清楚,打开文件的时候是有区别的。

    你怎么打开文件来存储,你得用同样的方式打开它来阅读它,如果还有困难,就把你所有的**都发了,我可以给你修改和解释。

  7. 匿名用户2024-01-19

    这是 UNIX 环境下 io 流的头文件。。

  8. 匿名用户2024-01-18

    我只能给你一点想法。

    写一个链表,把读123和hello写到一个结构体上,把所有的数据都存储在链表里,然后当你找的时候,遍历整个链表,找到123对应的内容。

  9. 匿名用户2024-01-17

    标准输入缓冲区和文件读写缓冲区都是由操作系统自动打开的,这两个缓冲区的开发与C语言本身关系不大。

    使用 fopen 打开文件将使用文件读/写缓冲区打开文件并直接读取和写入文件。

相关回答
18个回答2024-02-05

此函数用于打开指定文件的预定义流:标准输入、标准输出或标准错误。 >>>More

15个回答2024-02-05

答案已发送到您的邮箱,请检查。 另外,建议不要依赖这种方式来完成作业。

10个回答2024-02-05

printf("dd");

这有问题,对吧? >>>More

15个回答2024-02-05

第一个 awhile(leap) 条件是 leap 是否为 true(如果 leap 不是 0,则为 true,如果为 0,则为 false)。 >>>More

27个回答2024-02-05

一般使用。

另外,还有一个非常强大的“C和C++编程学习实践系统”,但注册后才会有完整的功能,尝试一下感觉很好。 >>>More