السلام عليكم
لدينا مشروع مهم في قسم VB و هو تحويل أرقام منطوقة إلى كتابة
المهم نحن نسير ببطئ في المشروع و لكن سوف نستمر إلى غاية التوصل لحل إن شاء الله
هذا رابط الموضوع للإطلاع عليه
المهم هذا هو الكود الذي وجدناه ليقوم بتحويل أي ملف إلى ملف txt به الصيغة الثنائية Binary للملف الأصلي
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <assert.h>
int main(int argc, char** argv)
{
char byte;
size_t read;
FILE* f ,*nf;
int ret;
int i;
char header[44];
unsigned long pos;
if ( argc < 2 ) {
fprintf(stderr, "Usage: %s FILENAME\n", argv[0]);
return 1;
}
f = fopen(argv[1], "r");
if ( !f ) {
fprintf(stderr, "Can't open file %s. Error: \n", argv
[1],strerror(errno));
return 1;
}
//اذا كنت ترديد عدم حفظ راس الملف( الهيدار) فعليك جعل هذه الجزء يعمل لان هذه الجزء يخزن راس الملف ملحق به
البيانات
/* if ( 44 != fread(header, 1, 44, f) ) {
fprintf(stderr, "Failed reading header. This may not be
a .wavfile.\n");
if ( fclose(f) == EOF )
fprintf(stderr, "Failed closing file. Error: %
s\n",strerror(errno));
return 1;
} */
// c يخزن مباشرة على VoiceBinaryfORMAT.txt سو ف يتم انشاء ملف اسمه
if ((nf=fopen("c:\\VoiceBinaryfORMAT.txt","w"))==NULL)
{
printf("Can't open file");
return 1;
}
do {
errno = 0;
read = fread(&byte, 1, 1, f);
if ( read == 1 ) {
for ( i=8-1 ; i>=0 ; i-- )
{
// ان الناتج لان يطبع لان شاشة الاخراج فى السي لا تطبع اكثر من 398 سطر لذلك قد تعتقد ان الطباعة
خطاء لذلك يتم التخزين فى ملف تكست ومنه تتم الطباعة
//printf("%d", ((byte >> i) & 0x1));
fprintf(nf,"%d",((byte >> i) & 0x1));
if (i==0)
{fprintf(nf,"\n");
printf("\n");
}
}
}
} while ( read == 1 );
ret = 0;
if ( ferror(f) ) {
fprintf(stderr, "Error: %s\n", strerror(errno));
ret = 1;
}
if ( fclose(f) == EOF ) {
fprintf(stderr, "fclose error: %s\n", strerror(errno));
ret = 1;
}
printf("\n");
return ret;
}ما نريده هو فقط من أين نمرر للبرنامج اسم الملف الذي نريد تحويله؟
لغة c++ تشبه ال c بعض الشيء لذلك فهمت بعض المقاطق من الكود لكن لم اتمكن من استعماله بفعالية
إذا كان هناك كود آخر لعمل هذا نرجوا إضافته
شكرا على المرور، وإن كانت لديك إجابة أو رد لا تبخل علينا بها،
نحن نرحب بكل مساعدة تأتي لصالح المشروع
شكرا


