【问题标题】:Copying elements from array by file按文件从数组中复制元素
【发布时间】:2019-02-24 09:06:02
【问题描述】:

我正在逐行从文件中获取数据并将它们存储在字数组中

  • 我想将整个单词复制到另一个数组中,例如如果 wrd 在当前迭代中有 assssh 我希望将其整个复制到 arr 数组中
  • 但是每次迭代中第一个元素所做的操作都复制到 arr[i] 中,但这不是我想要的

我希望在每个索引处复制整个单词,实际上之后我会根据每个数组中的第一个字母对单词进行排序,请帮忙

    while (fscanf(file, " %1023s", wrd) == 1) {
        printf("%s\n", wrd);
    //Pushing the result into vector
    //strcpy(arr,wrd);
    arr[i]=wrd[0];
    i++;
    counter++;

  }
 bubbleSortAWriteToB(arr, s_arr);

【问题讨论】:

  • 这是一个长而难以理解的句子。也许试着把它分成几个,也许添加一个数据和预期输出的例子。

标签: arrays sorting file-handling bubble-sort


【解决方案1】:

假设 'arr' 是一个二维数组,而 'wrd' 是一个字符数组,您的代码应该如下所示以实现您想要的:

while (fscanf(file, " %1023s", wrd) == 1) {
    printf("%s\n", wrd);
    // calculating length of the wrd array
    int wrd_length = (int)( sizeof(wrd) / sizeof(wrd[0]); 
    int idx = 0;
    while(idx < wrd_length) {
       arr[i][idx] = wrd[idx];
       idx++;        
    }
    i++;
    counter++;
}

【讨论】:

  • 数组应该是一维的并且sizeof(wrd)总是一
猜你喜欢
  • 1970-01-01
  • 2021-11-27
  • 1970-01-01
  • 2017-11-30
  • 2019-12-25
  • 1970-01-01
  • 1970-01-01
  • 2021-08-02
相关资源
最近更新 更多