C语言 结构和文件[已关闭]

bsxbgnwa  于 2023-01-01  发布在  其他
关注(0)|答案(1)|浏览(133)

十小时前关门了。
Improve this question
我是编程新手,我想知道是否有人能向我解释如何将文件中的一行存储到结构体的变量中?然后打印出来?:")

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
typedef struct{
    char name[100];
}p;
void function(FILE* pfile, p me)
{
    rewind(pfile);
    char buffer[100];
    fgets(buffer, 100, pfile);
    strcpy(me.name, buffer);
    printf("%s\n", me.name);
}
int main()
{
    FILE* pfile = fopen("text.txt", "r");
    p me;
    function(pfile, me);
    fclose(pfile);
    return 0;
}

/////这是c中的代码。文件只包含一个名称(您可以选择);

qcuzuvrc

qcuzuvrc1#

function(pfile, me);me的副本传递给function();。您肯定希望function()影响的main'sme。传递me的地址并更改函数签名。

void function(FILE* pfile, p *me) {
    rewind(pfile);
    if (fgets(me->name, sizeof me->name, pfile) == NULL) {
      me->name[0] = '\0';
    } 
}

int main(void) {
  FILE* pfile = fopen("text.txt", "r");
  if (pFile) {
    p me;
    function(pfile, &me);
    fclose(pfile);
    printf("<%s>\n", me.name);
  }
  return 0;
}

相关问题