user-0 提问: 动态给字符串数组赋值

回复:
user: user-1
content: 比较j值，原表中是否有值？

user: user-0
content: 引用 1 楼 ouyh12345 的回复:设断点，调试，看取出来的是什么我把取出来的值打印出来了，是空值哦，亲

user: user-2
content: 引用 4 楼 xiaolanghh 的回复:[quote=引用 3 楼 zhuobattle 的回复:] static char CellString[10][10]; 这个每个字串才10个字符是不是太短了？  GetTableCellVal (panelHandle, PANEL_TABLE, MakePoint(j,i), &CellString[j]） //建议可以这样调用: char pStr[256] = {0}; GetTableCellVal (panelHandle, PANEL_TABLE, MakePoint(j,i), pStr）; //这里最后一个只是一个指针吧？你这样获取试试。  最后一个是个字符串数组，应该定义一个二维数组存放吧，CellString[j]表示的是第j行的一个字符串吧[/quote] 一个字符串，那么char pStr[256]就可以获取了啊，你获取的仅仅是第j行的字符串，又不是所有行的字符串

user: user-0
content: 引用 2 楼 truelance 的回复:是LabWindows么? The value that this function returns depends on the cell type of the specified cell.  If the cell type is VAL_CELL_PICTURE, the function returns the bitmap stored in the cell, or zero if there is no bitmap. When you no longer need the bitmap, free it using DiscardBitmap.  If the cell type is VAL_CELL_STRING, VAL_CELL_RING, VAL_CELL_COMBO_BOX, or VAL_CELL_BUTTON, the function expects you to pass a buffer large enough to hold the corresponding string, plus the terminating NUL. Use GetTableCellValLength to obtain the length of the string.  If the cell type is VAL_CELL_NUMERIC, the function expects the data type of value to match the data type of the cell.恩，是Labwindows CVI 里的一个函数，我看了这个帮助文档，但是没弄明白为什么我定义的二维数组不能获取到table控件里的字符串值，我打印出来CellString里的值都为空值。

user: user-0
content: 引用 3 楼 zhuobattle 的回复:static char CellString[10][10]; 这个每个字串才10个字符是不是太短了？  GetTableCellVal (panelHandle, PANEL_TABLE, MakePoint(j,i), &CellString[j]） //建议可以这样调用: char pStr[256] = {0}; GetTableCellVal (panelHandle, PANEL_TABLE, MakePoint(j,i), pStr）; //这里最后一个只是一个指针吧？你这样获取试试。  最后一个是个字符串数组，应该定义一个二维数组存放吧，CellString[j]表示的是第j行的一个字符串吧

user: user-2
content: static char CellString[10][10]; 这个每个字串才10个字符是不是太短了？  GetTableCellVal (panelHandle, PANEL_TABLE, MakePoint(j,i), &CellString[j]） //建议可以这样调用: char pStr[256] = {0}; GetTableCellVal (panelHandle, PANEL_TABLE, MakePoint(j,i), pStr）; //这里最后一个只是一个指针吧？你这样获取试试。

user: user-3
content: 是LabWindows么? The value that this function returns depends on the cell type of the specified cell.  If the cell type is VAL_CELL_PICTURE, the function returns the bitmap stored in the cell, or zero if there is no bitmap. When you no longer need the bitmap, free it using DiscardBitmap.  If the cell type is VAL_CELL_STRING, VAL_CELL_RING, VAL_CELL_COMBO_BOX, or VAL_CELL_BUTTON, the function expects you to pass a buffer large enough to hold the corresponding string, plus the terminating NUL. Use GetTableCellValLength to obtain the length of the string.  If the cell type is VAL_CELL_NUMERIC, the function expects the data type of value to match the data type of the cell.

user: user-4
content: 设断点，调试，看取出来的是什么

user: user-0
content: 引用 6 楼 zhuobattle 的回复:[quote=引用 4 楼 xiaolanghh 的回复:] [quote=引用 3 楼 zhuobattle 的回复:] static char CellString[10][10]; 这个每个字串才10个字符是不是太短了？  GetTableCellVal (panelHandle, PANEL_TABLE, MakePoint(j,i), &CellString[j]） //建议可以这样调用: char pStr[256] = {0}; GetTableCellVal (panelHandle, PANEL_TABLE, MakePoint(j,i), pStr）; //这里最后一个只是一个指针吧？你这样获取试试。  最后一个是个字符串数组，应该定义一个二维数组存放吧，CellString[j]表示的是第j行的一个字符串吧[/quote] 一个字符串，那么char pStr[256]就可以获取了啊，你获取的仅仅是第j行的字符串，又不是所有行的字符串[/quote]谢谢 问题解决了，用一个字符串重复获取能获取到值！再多问一句，如果是取所有行的字符串保存在一个二维数组中，该如何获取呢？

user: user-5
content: 这个GetTableCellVal的内部实现可以看到吗？第四个参数类型是什么？