Kostin275
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору нужна помощь спецов написал на с++ программу котороя должна данные прочитанные из файла и записанные в память вывести на экран в бинарном виде (16 бит) сечас она выводит как читаетю файл рпограмма #include <cstdlib> #include <iostream> #include <fstream.h> #include <string> //#include <libc.h> using namespace std; const int MAX_LINE_LENGTH = 65536; const int MAX_WORD_LENGTH = 64; const int var_num = 65536; //variable *x; //clause_list *c; int read_dimacs(char * filename) { char line_buffer[MAX_LINE_LENGTH]; char word_buffer[MAX_WORD_LENGTH]; int v[var_num]; int line_num=0; int i; long little= 0; long value =256; ifstream inp(filename, ios::in); if (!inp) { cerr << "Fehler beim Lesen der DIMACS-Datei" << endl; exit(1); } while (inp.getline(line_buffer, MAX_LINE_LENGTH)) { ++line_num; if (line_buffer[0] == 'c') { continue; } else if (line_buffer[0] == 'p') { int cl_num; int arg = sscanf(line_buffer, "p cnf %d %d", &var_num, &cl_num); if (arg < 2) { cerr << "Fehler beim Lesen der Anzahl der Variablen und Klauseln" << "in der Zeile " << line_num << endl; exit(3); } else for (int i=0; i < var_num; i++) { if (cin>>v[var_num]) continue; return var_num; } for (int i=0; i< var_num; i++) { cout << "Die Variablen" << v[i] << "\n"; } } for (int i=0; i < var_num; i++) { for (int i=0; i<sizeof(v[var_num]); i++) { ((char*)(&var_num))[i]= i+1; } long little= 0; for (int i=sizeof(v[var_num])-1; i>=0; i--) { little = little*256+((unsigned char*)(&value))[i]; v[var_num] = little; } } for (int i=0; i < var_num; i++) { if (cin>>v[var_num]) continue; return var_num; } } return i; } void error(char* s, char* s2 = "") { cerr << s << ' ' <<s2<< 'n'; exit(1); } void read_char(FILE *stream) { int c; while( (c=fgetc(stream)) !=EOF) putchar(c); } int main(int argc, char** argv) { FILE *datei; char filename[255]; if(argc < 2) { printf("Datei"); scanf("%s",filename); datei = fopen(filename ,"r"); if(datei != NULL) read_char(datei); else { printf("Feller %s\n",filename); return EXIT_FAILURE; } } else { datei=fopen(argv[1],"r"); if(datei != NULL) read_char(datei); else { printf(" %s nicht auf!\n",argv[1]); return EXIT_FAILURE; } } return EXIT_SUCCESS; } файл с |