k1b*_*ber 0 c arrays string file-io fgets
我正在编写一个程序,从文件中读取字符串,将它们保存到"字符串缓冲区",然后连接这些字符串并将它们写入另一个文件.
#define _CRT_SECURE_NO_WARNINGS
#include <cstdlib>
#include <iostream>
#include <string.h>
#include <stdio.h>
int main() {
FILE *f = fopen("Read.txt", "r");
char line[20];
char buff[15][20];
int i = 0;
while (fgets(line, 18, f)) {
strcpy(buff[i], line);
i++;
}
FILE *h = fopen("Out.txt", "w+");
for (int j = 0; j < i; ++j) {
char ct[4] = "smt";
strcat(buff[j], ct);
fputs(buff[j], h);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
文件内容Read.txt:
Lorem ipsum
dolor sit
amet
Run Code Online (Sandbox Code Playgroud)
预期输出(File Out.txt):
Lorem ipsumsmt
dolor sitsmt
ametsmt
Run Code Online (Sandbox Code Playgroud)
但是我在Out.txt中获得了什么:
Lorem ipsum
smtdolor sit
smtamet
smt
Run Code Online (Sandbox Code Playgroud)
那么如何获得预期的结果呢?
PS我认为当我使用函数时会出现问题fgets().