gpt4 book ai didi

C - 使用文本文件

转载 作者:太空宇宙 更新时间:2023-11-04 07:36:15 25 4
gpt4 key购买 nike

基本上,我正在用 C 编写一个小程序(同样,这不是家庭作业,只是我离开 Uni 时的一些实验:))。我的目标是获取一个包含大量单词的文件,这些单词全部由空格分隔,遍历该文件,每当找到一个空格时,将其替换为\n,从而创建一个大的单词列表。

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
/*
*
*/
int main(int argc, char** argv) {

char myFile[100];
int i;
FILE *file;
while(argc--) {
printf("%s\n", *argv++);
}

return 0;
}

到目前为止我所拥有的非常基本,接下来我需要做的是接受争论并将其放入 myFile 数组中,以便我可以将其用作 fopen,或者也许有另一种方法可以做到这一点?

除此之外,我的想法是然后通过 fgets 读取一行到一个数组中,逐个字符循环遍历它,搜索 ' ',如果我找到它,替换为\n,然后将该行重写为文件。这听起来明智、可行吗?

问候,

谢谢!

最佳答案

最简单的方法是以二进制方式打开文件

FILE *fpIn = fopen( argv[1], "rb" );

然后打开一个新文件进行写入

FILE* fpOut =  fopen( "tmp.out", "wb" );

并使用 fgetc 从 fpIn 逐字节读取并使用 fputc 编写到新文件

在写入之前检查字节是否为空格(使用 isspace()),改为写入 '\n'。

然后删除原来的并将tmp.out重命名为argv[1]

关于C - 使用文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8647944/

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