首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将文件称为fgets()的流?

如何将文件称为fgets()的流?
EN

Stack Overflow用户
提问于 2018-12-06 04:21:30
回答 1查看 518关注 0票数 0

fgets()从提供的流中返回一个字符串。一个是stdin,它是来自终端的用户输入。我知道如何做到这一点,但如果我在应用程序中使用编译的c代码,这就不是很有用了。如果我能从一个文件中得到一个字符串,那就更有用了。那会很酷的。显然,有一些方法可以提供文本文件作为流。假设我有以下代码:

代码语言:javascript
复制
#include <stdio.h>

int main(int argc, const char *argv){
    char *TextFromFile[16];
    fgets(TextFromFile, 16, /*stream that refers to txt file*/);
    printf("%s\n", TextFromFile);
    return 0;
}

假设在与c文件相同的目录中有一个文本文件。如何让printf()函数打印文本文件的内容?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-08 10:10:23

后来我发现了问题所在。fopen很愚蠢。使用./file.txt或其他工具将不起作用。我需要使用整个文件路径来完成此操作。

代码语言:javascript
复制
FILE (*File) = fopen("/home/asadefa/Desktop/txt.txt", "r");
char FData[0x100];
memset(FData, '\0', 0x100);
for(z = 0; z < 0x100; ++z) {
    fgets(FData, 0x100, File);
}
fclose(File);

我应该注意到使用了完整的文件路径。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53640128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档