Я пытаюсь передать строку в функцию в C. Эта строка будет введена пользователем, а затем передана функции для записи в текстовый файл. Iknow это кажется очень простой, но я только учусь C.Передача строки в функцию
#include <stdio.h>
#include <string.h>
void read() {
char text[50][30],buffer[150];
int i=0;
FILE *file_in;
file_in=fopen("test.txt","r");
if (file_in == NULL) {
printf("Error opening file\n");
}
while (fgets(buffer,150,file_in)) {
strcpy(text[i],buffer);
printf("line %d: %s\n",i,text[i]);
i++;
}
getchar();
fclose(file_in);
}
void write(char str[])
{
FILE *file_in;
file_in=fopen("test.txt","a");
if (file_in == NULL) {
printf("Error opening file\n");
}
//write to the file
fprintf(file_in, "\n%s", str);
// fputs(str, file_in);
fclose(file_in);
}
int main()
{
read();
char msg[50];
printf("Enter some text: ");
puts(msg);
write(msg);
return 0;
}
Он пишет в файл, но он пишет странные символы, а не то, что я на самом деле типа. Что я делаю не так?
Что делает это написать? Что-то вроде 0x049569 ...? – OMGtechy
Я пишу что-то вроде коробки с множеством символов. –
Пожалуйста, напишите, что он печатает в вашем вопросе – OMGtechy