fgets()从提供的流中返回一个字符串。一个是stdin,它是来自终端的用户输入。我知道如何做到这一点,但如果我在应用程序中使用编译的c代码,这就不是很有用了。如果我能从一个文件中得到一个字符串,那就更有用了。那会很酷的。显然,有一些方法可以提供文本文件作为流。假设我有以下代码:
#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()函数打印文本文件的内容?
发布于 2018-12-08 10:10:23
后来我发现了问题所在。fopen
很愚蠢。使用./file.txt
或其他工具将不起作用。我需要使用整个文件路径来完成此操作。
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);
我应该注意到使用了完整的文件路径。
https://stackoverflow.com/questions/53640128
复制相似问题