gpt4 book ai didi

c - C语言如何将文本读入数组

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

我想知道是否可以获得一些帮助来弄清楚如何将文件中的文本读入 C 中的数组中。我的主要目标是制作一个文本格式化程序,可以正确对齐文本,但现在就这样我只是想正确阅读文本。

提前致谢!

#include<stdlib.h>
#include<stdio.h>
#define TEMP 1000
int main() {

int words_in_line = 0;
int spaces_to_put = 0;
int z; //for loop
int i; //for loop
int count; //indicates when to put a new line.
int k; //for loop
int w; //for loop
int drop_spaces; //for loop
int check;
size_t nread;
FILE *f_open;
char buffer[TEMP];

f_open = fopen("hollow.txt", "r");
char *buf = malloc(TEMP);

printf("Enter the length of chars in a line: \n");
scanf("%d", &w);

if (buf == NULL) {
printf("Buf is null \n");
}

while ((nread = fread(buf, 1, TEMP, f_open)) > 0) { //going through the stream.
buffer[TEMP] = fwrite(buf, 1, nread, stdout); //need to load the steam into the array.
//size_t cannot match char[].
}
if (ferror(f_open)) {
printf("Error reading file \n");
}
return 0;
}

最佳答案

不要使用 fread()/fwrite() 读取文本,而是使用 fgets() 读取,使用 fprintf() 读取文本证明合理。

assert(w >= 0);
while (fgets(buf, TEMP, f_open) != NULL) {
// right justify the text
fprintf(stdout, "%*s", w + 1, buf);
}

+ 1 用于 buf 末尾的常见 \n。当 \n 不存在时,需要做更多的工作来处理这种情况。例如文件的最后一行。

关于c - C语言如何将文本读入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21763766/

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