Я пишу простую программу массива struct. Строка дана, и я хочу ее проанализировать. Строка состоит из нескольких символов.Установить массив struct в C
Например, строка «a: bc: D: E» имеет 5 уникальных символов. Colon ":" говорит, что этот символ имеет значение.
Размер массива Struct 256 ((опция [256])), который включает в себя все символы ASCII.
Из данной строки я хочу найти символы и заполнить массив структур со значением «1» в их позиции ASCII. Если в строке нет символа, назначьте значение «0».
Далее я хочу установить «hasVal», поданный этой структурой. Например, a = 1 (имеет двоеточие в заданной строке), b = 0 (без двоеточия после «b» в строке), c = 1 , D = 1, E = 1.
Наконец, распечатать эту структуру, как показано на ожидаемом выходе.
Я не очень хорошо в программировании. Я только начал изучать язык C. Я пробовал это, но я не ожидая результата. Приносим извинения, если я не могу сообщить о своем заявлении о проблемах.
Любая помощь приветствуется. Спасибо заранее.
sample.c
#include <stdio.h>
#include <stdlib.h>
#define MAX_CHAR 256
typedef struct {
int hasVal;
char *defaultVal;
char *desc;
} validOpt;
validOpt option[MAX_CHAR] = {};
char *optStr = "a:bc:D:E";
int main() {
int i;
for(i = 0; *(optStr + i); i++)
{
/* Not Sure how to check this....
* check the "char" and ":",
* if both are present, set the field "hasVal" to 1 or "0".
*/
if((optStr[i]++) == ":")
option[optStr[i]--].hasVal = 1;
else
option[optStr[i]--].hasVal = 0;
}
printf(“Printing structure…\n”);
printf("\n");
for(i=0; i< MAX_CHAR; i++)
{
if(option[optStr[i]].hasVal == 1) {
printf(" %d -- %c\n", i , option[optStr[i]].hasVal);
}
}
return 0;
}
Фактический выход:
[rock12/C_Prog]$ ./sample
Printing structure…
Не получая ничего после этой строки.
Ожидаемый результат:
1) If user enters invalid character, give an error.
For Example, "q" -> not valid option
2) For Valid options, print:
a - 1
b - 0
c - 1
D - 1
E - 1
"Это не работает" не является хорошим описанием проблемы. Что он делает, чего вы не ожидаете? Что это не значит, что вы ожидаете? Как вы пытались его отладить? Какие результаты вы получили? –
Благодаря @DavidSchwartz за вашу помощь и время. Я не могу распечатать структуру. Я просто хочу проанализировать строку и найти символы и присвоить значение элементам структуры. – mehtame026