writeData () должен вызывать fwrite (buf, ...), а не fwrite (& buf, ...)
у выходные файлы отличаются, когда я использую fwrite в другой функции VERSUS fwrite в той же функции?
output1.txt содержит значение мусора типа Ê, что НЕ является правильным
output2.txt содержит «b», что правильно
#include <stdio.h>
#include <string.h>
void writeData(char *buf, char *path) {
FILE *fp1;
fp1 = fopen(path, "a");
fwrite(&buf, sizeof(char), strlen(buf), fp1);
}
int main () {
char buf[2] = "a";
char buf2[3] = "yb";
char file1_path[12] = "output1.txt";
char file2_path[12] = "output2.txt";
memset(buf, 0, sizeof(buf));
memcpy(buf, &buf2[1], strlen(buf2));
printf("%s\n", buf);
writeData(buf, file1_path);
FILE *fp2;
fp2 = fopen(file2_path, "a");
fwrite(&buf, sizeof(char), strlen(buf), fp2);
return(0);
}