我有一个包含的 file.txt,例如,“这是一个 txt 文件”(此内容可以是可变的),我需要一个读取 file.txt 并将其内容保存到 char* 中的函数。
file.txt 包含 -> “这是一个 .txt 文件”
我需要一个 char *readedContent 包含“这是一个 .txt 文件”。
首先,我将 char *str 的内容(str 包含“这是一个 .txt 文件”)保存到“file.txt”中,然后我尝试从该文件中获取字符串,但该字符串的字符数比“This是一个 .txt 文件”。(经常添加空格或@,?)
我的功能是:
char *special_char_remplace(char *str){
FILE *f1;
f1 = fopen("file.txt","w+");
fprintf(f1,"%s", str);
fclose(f1);
size_t len, bytesRead;
char *readedContent;
FILE* f2;
f2 = fopen("file.txt", "rb");
fseek(f2, 0, SEEK_END);
len = ftell(f2);
rewind(f2);
readedContent = (char*) malloc(sizeof(char) * len + 1);
readedContent[len] = '\0'; // Is needed only for printing to stdout with printf
bytesRead = fread(readedContent, sizeof(char), len, f2);
printf("STRING: %s\n", readedContent);
fclose(f2);
return readedContent;
}
我遇到的问题是,在 char *readedContent 中,我的字符比 file.txt 的内容多。
非常感谢。