开发者社区> 问答> 正文

strncpy函数的使用问题,编译器报错

我自己写了一段代码,如下

void gettestdata(FILE *testdatafile, struct tle_ascii *sat_data)
{
  char *ret;
  char inputchar[72];
  long i = 0;
 
  while(1)
    {
 ret = fgets(inputchar, 72, testdatafile);
 if(strncmp("IRIDIUM", inputchar, 7))
 {
  printf("\n");
 }
 else if(strncmp("1", inputchar, 1))
 {
  strncpy(sat_data[i]->l[1], inputchar, 70);

 }
 else if(strncmp("2", inputchar, 1))
 {
  strncpy(sat_data[i]->l[2], inputchar, 70);
  i++; //use i*3, we can get total number of lines in the data file
 }

 if(NULL == ret)
      { 
          printf("Mission Compele!\n");
   printf("i = %ld\n", i);
   fclose(testdatafile);
          break;
      }
   }

编译时报错:testing.c:68: error: invalid type argument of ?.>?

请问大侠们,strncpy函数复制字串的时候,不可以用变量吗?这个函数使用的时候错在哪里呢?

展开
收起
a123456678 2016-06-13 15:50:43 2671 0
1 条回答
写回答
取消 提交回答
  • 这段代码是根据之前的改的,之前是sat_data[0]->l[2]和sat_data[1]->l[2],这两个这样用都没有错啊

    2019-07-17 19:36:14
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多