|
|
|
Supreme Being
      
участник
Last Login: 12.06.2008 11:23
Сообщ.: 96,
Visits: 535
|
|
Доброе время суток!
Подскажите, пожалуйста, как правильно создать и заполнить двумерный строковый массив!
Пробовал делать так:
#include
int main(){
using namespace std;
string A[3][2];
//char *temp;
int i;
for(i=0;i <= 2;i++){
printf("Enter string: ");
scanf("%s", &A[i][0]);
//printf("string: %s", A[i][0]);
printf("Enter string: ");
scanf("%s", &A[i][1]);
}
printf("%s", A[0][1]);
scanf("%s", A[i][0]);
return 0;
}
Есть двумерный массив AnsiString, куда все записывается. Но поставив прерывание и проверив в цикле, что же все-таки записывается, обнаружил, что массив остается пустым. А точнее изначально массив выглядит так:
Name Value
{{{ NULL },{ NULL }},{{ NULL },{ NULL }},{{ NULL },{ NULL }}}, а после заполнения массива строками:
Name Value
{{{ "" },{ "" }},{{ "" },{ "" }},{{ "" },{ "" }}}.. Т.е. в цикле, что не вводи, массив остается пустым.
Помогите, пожалуйста, разобраться с этим!
Заранее благодарен!
|
|
|
|
|
Supreme Being
      
модератор
Last Login: 09.07.2008 2:17
Сообщ.: 1 298,
Visits: 12 500
|
|
| нельзя использовать scanf с STL-строками, используейте cin, cout и др. STL потоки ввода/вывода
|
|
|
|
|
Supreme Being
      
участник
Last Login: 12.06.2008 11:23
Сообщ.: 96,
Visits: 535
|
|
| А как быть, если я считываю из файла? Как мне считать с помощью cin строку из файла и разбить данные строки (как я делал это в предыдущей теме: fscanf("%s %s %s ...", A[i][0], A[i][1]....);)..?
|
|
|
|
|
Supreme Being
      
модератор
Last Login: 09.07.2008 2:17
Сообщ.: 1 298,
Visits: 12 500
|
|
|
|
|
|
Supreme Being
      
модератор
Last Login: 09.07.2008 2:17
Сообщ.: 1 298,
Visits: 12 500
|
|
|
|
|
|
Supreme Being
      
участник
Last Login: 12.06.2008 11:23
Сообщ.: 96,
Visits: 535
|
|
Огромное спасибо!
Очень полезные статьи! Как раз то что мне необходимо!
|
|
|
|