字符串数组的数组
Array of array of string
我正在做一项任务,我需要在图上找到最短的路径。
算法完全没有问题。问题是如何将路径从源输出到所有其他顶点。边缘也有名字,而不仅仅是权重。我应该如何正确初始化字符串矩阵?可能吗?
我希望这段代码工作:
printf(" -(%s)-> %d", names[prev][next], mas[j]);
mas[j]
是带有顶点
的数组 names
- string
数组的数组
我正在尝试以这种方式初始化矩阵:
string names[N][N] = {
{'0', 'A', '0', 'B', 'E', '0', '0', 'P1', '0'},
{'A', '0', 'D', 'I', '0', '0', '0', '0', '0'},
{'0', 'D', '0', '0', '0', 'H', 'F', '0', '0'},
{'B', 'I', '0', '0', '0', 'H', '0', '0', '0'},
{'E', '0', '0', '0', '0', '0', '0', 'P2', '0'},
{'0', '0', 'H', 'H', '0', '0', '0', '0', 'P4'},
{'0', '0', 'F', '0', '0', '0', '0', '0', 'P3'},
{'0', '0', '0', '0', '0', '0', '0', '0', '0'},
{'0', '0', '0', '0', '0', '0', '0', '0', '0'},
};
我的程序:http://ideone.com/ZMiVPE
您对字符串文字使用了错误的引号。单引号'
用于字符文字,实际上'P1'
是一个多字符文字(我敢肯定你甚至不想搞砸)。相反,请在文字两边使用双引号"
。
它们都需要是字符串文字的原因是,没有std::string
构造函数只需要一个char
。但是,有一个构造函数采用 C 样式字符串(由字符串文本创建)。
请注意,printf
需要一个 C 样式的字符串,因此您需要执行names[prev][next].c_str()
。
相关文章:
- 使用 jsoncpp 解析 json 数组字符串
- C++ 对象数组字符串输入在控制台上不起作用
- 插入了 C++ 数组字符串数据,但在显示输出时不显示
- 无法区分 JSON 对象/数组/字符串
- 为什么数组(字符串类型)的大小是 24 字节,带有单个空格元素
- 如何使用数组字符串进行输入验证
- (C++) 打印字符数组字符串的单词时出现问题
- 使用Back_inserter从任何位置的输入字符中使用Back_inserter进行过滤数组字符串
- C 函数反转字符数组字符串
- 如何在 c++ 中创建数组(字符串 [] )的向量
- 如何返回数组字符串的指针
- char数组字符串混淆
- 如何从字符数组字符串中提取空格
- 是否可以将 Bitset<8> 的值复制到数组字符串而不转换它们?
- C++数组字符串函数
- 如何在函数中操作字符数组(字符串)的指针,该指针在C / C ++中作为参数传递
- visual将音频文件存储到数组/字符串流C++中
- c++在char数组(字符串)上将what替换为
- 将数组字符串转换为intger c++(初学者)
- 需要设置数组字符串长度,使其恰好为13