Как на языке C записывать данные в файл с кодировкой юникод? У меня только английский выходит(

программирование кодировка

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include<iostream>
FILE *fp;
struct College {
char predmet[30];
int god;
int lab;
int pract;
int irk;
char control[10];
}b1;
int main(){
setlocale(LC_ALL, "Russian");
fp=fopen("D:\\bd.txt","w, ccs=Unicode");
int n=0;
int i=0;
char str1[30];
printf("\n\n");
printf("\n Ââåäèòå äàííûå ïî ïðåäìåòó");
printf("\n");
while (1){
printf("\n Ïðåäìåò:\t");
scanf("%s", str1);
if(strcmp(str1,"*")==0)break;
else strcpy(b1.predmet,str1);
printf("\n Êîëè÷åñòâî ÷àñîâ:\t");
scanf("%i", &b1.god);
printf("\n Êîëè÷åñòâî ëàáîðàòîðíûõ:\t");
scanf("%i",&b1.lab);
printf("\n Êîëè÷åñòâî ïðàêòè÷åñâêèõ:\t");
scanf("%i",& b1.pract);
printf("\n Êîëè÷åñòâî ÈÐÊ:\t");
scanf("%i",& b1.irk);
printf("\n Òèï êîíòðîëÿ:\t");
scanf("%s", b1.control);
printf("\n\n");
fwrite(&b1,sizeof(b1),1,fp);
i++;n++;
}
fclose(fp);
getch();
return 0;
}

Прога

Примечание:
Чтобы записывал в файл на русском.
Именно записывал и читал.
Вот нормальный код:
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include<iostream>
FILE *fp;
struct College {
char predmet[30];
int god;
int lab;
int pract;
int irk;
char control[10];
}b1;
int main(){
setlocale(LC_ALL, "Russian");
fp=fopen("D:\\bd.txt","w, ccs=Unicode");
int n=0;
int i=0;
char str1[30];
printf("\n\n");
printf("\n Введите данные по предмету");
printf("\n");
while (1){
printf("\n Предмет:\t");
scanf("%s", str1);
if(strcmp(str1,"*")==0)break;
else strcpy(b1.predmet,str1);
printf("\n Количество часов:\t");
scanf("%i", &b1.god);
printf("\n Количество лабораторных:\t");
scanf("%i",&b1.lab);
printf("\n Количество практичесвких:\t");
scanf("%i",& b1.pract);
printf("\n Количество ИРК:\t");
scanf("%i",& b1.irk);
printf("\n Тип контроля:\t");
scanf("%s", b1.control);
printf("\n\n");
fwrite(&b1,sizeof(b1),1,fp);
i++;n++;
}
fclose(fp);
getch();
return 0;
}
Ответы:
если под виндой - использовать WinAPI WideCharToMultiByte и пр.


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.