ChaosSpring 2022-04-03 09:17 采纳率: 100%
浏览 43
已结题

c++二维数组在不同函数之间传递

char additional_part()
{

    /* ifstream */

    ifstream textfile;
    textfile.open("ignore.txt");
    textfile >> noskipws;
    int row = cal_row_ignore_file(); // row = 7
    char **ig_word = new char *[row]; // setting up two-dimensional arrays
    for (int i = 0; i < row; i++)
    {
        ig_word[i] = new char[51];
    }
    for (int i = 0; i < row; i++) // read file contents
    {
        textfile.getline(ig_word[i], 51, '\n');
    }
    textfile.close();

    /* process */
    int w_len[row];
    for (int i = 0; i < row; i++)
    {
        w_len[i] = strlen(ig_word[i]);
    }
    for (int i = 0; i < row; i++)
    {
        *ig_word[i] = *u2l(ig_word[i], w_len[i]); // uppercase to lowercase
    }

    for (int i = 0; i < row; i++)
    {
        delete[] ig_word[i];
    }
    delete[] ig_word;


    return **ig_word;
}

int main()
{
    // data();
    char **ig_word = new char *[7]; // setting up two-dimensional arrays
    for (int i = 0; i < 7; i++)
    {
        ig_word[i] = new char[51];
    }
    **ig_word = additional_part();
    for (int i = 0; i < 7; i++)
    {
        cout << ig_word[i] << endl;
    }
    return 0;
}

我想做一个二维数组的指针传递,但是在main函数中,接收时英文单词变乱码了,想知道问题原因

  • 写回答

1条回答 默认 最新

  • Frank_Liuxing 2022-04-03 11:17
    关注

    你这个代码错误比较多。二维数组的传递一般方法是在函数外申请二维数组,传递进函数,函数内修改内容,main函数中调用之后,data就是修改过的数据。例如:

    /**
    *@param data 二维数组的指针
    *@param m  二维数组的列数
    *@param n 二维数组的行数
    */
    void func(char** data, int m, int n)
    {
          //对data进行修改,
    }
    
    void main()
    {
        char data[10][10];
        func(data, 10, 10);
    }
    

    你这个地方就可以把ig_word作为参数传进去,在函数里面直接给ig_word赋值。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月11日
  • 已采纳回答 4月3日
  • 创建了问题 4月3日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?