下面的代码创建了一个包含日期和时间的字符串,例如 Wed Jul 26 14:45:28 2017
我怎样才能去掉其中的空格?那就是 WedJul2614:45:28
?
原代码:
#include <stdio.h>
#include <time.h>
int main() {
time_t t = time(NULL);
struct tm *tm = localtime(&t);
char s[64];
strftime(s, sizeof(s), "%c", tm);
printf("%s\n", s);
}
我试过这段代码,但它打印出 wed?July
#include <stdio.h>
#include <time.h>
int main() {
time_t t = time(NULL);
struct tm *tm = localtime(&t);
char s[64];
char temp[64];
strftime(s, sizeof(s), "%c", tm);
printf("%s\n", s);
for (int i = 0; i < sizeof(s); i++) {
if (s[i] != ' ') {
temp[i] = s[i];
}
}
printf("%s\n", temp);
}
最佳答案
int j = 0;
for (int i = 0; s[i]!='\0'; i++) {
if (s[i] != ' ') {
temp[j] = s[i];
j++;
}
}
跟踪索引,这样您就不会在空格中留下一些随机值。此外,您应该在 temp 的末尾添加一个 null。
temp[j] = '\0';
关于c - 如何从c中的日期时间字符串中删除空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45329017/