【问题标题】:For loop a pointer char in c在c中循环一个指针char
【发布时间】:2014-04-04 16:31:27
【问题描述】:

我有一个应该获取时间的代码,我想将时间存储在我的 char 数组中,但我不能这样做,我认为我可以有一个指向指针的循环并遍历指针并复制从指针内存到我的字符的字符,这可能吗?

void My_Time(char *myt_Time,int size) 
{
    time_t raw_Time = time(0);
    struct tm *info;
    char *myt_Temp;
    int x;

        info = localtime(&raw_Time);
        myt_Temp = asctime(info);
        for (x=0;x<size;x++)
        {
          myt_Time[x]=myt_Temp;
        }
}

【问题讨论】:

  • 当您到达myt_Temp 中的尾随NULL 时,您需要停止。您可以使用strncpy 来执行此操作,而不是编写自己的循环。
  • 还有,应该是myt_Time[x] = myt_Temp[x]

标签: c pointers


【解决方案1】:

根据我对您的问题的理解,以下代码应该可以工作,而不是您的 for 循环。

strncpy(myt_Time, mytTemp, size);

for 循环中的错误存在:

myt_Time[x]=myt_Temp; => myt_Time[x]=myt_Temp[x];

【讨论】:

  • SIZE_OF_MYT_TIME 应该只是 size
猜你喜欢
  • 2015-10-09
  • 1970-01-01
  • 2021-12-13
  • 1970-01-01
  • 2021-12-05
  • 2021-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多