gpt4 book ai didi

c - 如何从C中的结构体中获取字符串?

转载 作者:行者123 更新时间:2023-11-30 21:24:12 25 4
gpt4 key购买 nike

我很好奇以前是否有人这样做过。

我在从结构中获取字符串时遇到问题。我想做的是从我正在使用的特定结构中获取字符串,然后将该字符串放入 fprintf("%s", 不管字符串);

FILE* outfile = fopen("Z:\\NH\\instructions.txt","wb");
if ((dir = opendir ("Z:\\NH\\sqltesting\\")) != NULL) {// open directory and if it exists

while ((ent = readdir (dir)) != NULL) { //while the directory isn't null
printf("%s\n", ent->d_name); //I can do THIS okay

fprintf("%s\n",ent->d_name); //but I can't do this

fclose(outfile);

}

}
closedir (dir);

//else {
//
// perror (""); //print error and panic
// return EXIT_FAILURE;
//}
}

我在这里采取了错误的方法吗?我正在考虑以某种方式使用类似 char[80] =ent.d_name; 的东西但显然这行不通。有什么方法可以从结构中获取该字符串并将其放入 fprintf 中吗?

最佳答案

来自 fprintf 的手册页,函数声明为:

int fprintf(FILE *stream, const char *format, ...);

您没有包含第一个参数。这是一个简单的程序,证明您可以将目录的内容写入文件:

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

int main (void)
{
FILE *outfile;
DIR *dir;
struct dirent *ent;

outfile = fopen("Z:\\NH\\instructions.txt","wb");
if (outfile == NULL)
{
return -1;
}

dir = opendir ("Z:\\NH\\sqltesting\\");
if (dir == NULL)
{
fclose (outfile);
return -1;
}

while ((ent = readdir (dir)) != NULL)
{
fprintf (outfile, "%s\n", ent->d_name);
}

fclose (outfile);
closedir (dir);
return 0;
}

关于c - 如何从C中的结构体中获取字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38749789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com