Re: How to truncate char string fromt beginning and replace chars in
string by other chars in C or C++?
On Aug 7, 3:31 pm, Victor Bazarov <v.Abaza...@comAcast.net> wrote:
Hongyu wrote:
Hi,
I have a datetime char string returned from ctime_r, and it is in th=
e
format like ""Wed Jun 30 21:49:08 1993\n\0", which has 26 chars
including the last terminate char '\0', and i would like to remove the
weekday information that is "Wed" here, and I also would like to
replace the spaces char by "_" and also remove the "\n" char. I didn't
know how to truncate the string from beginning or replace some chars
in a string with another chars without using a loop through one char
by one char of the string. I used the below code to achieve
replacement of " " by "_" and also removed the last "\n" char, without
considering removing the first 4 chars i.e. weekday information yet.
But even this I still didn't get what i like. Below is the code i
wrote:
#include <time.h>
#include <stdio.h>
int main(void)
{
time_t ltime;
char buf[50];
// Get the time
time(<ime);
// The datetime string returned by ctime_r is in the format
// of "Wed Jun 30 21:49:08 1993\n\0"
printf("The time is: %s", ctime_r(<ime, buf));
// replace the " " and ":" in the datetime string
// by "_"
buf[7] = "_"; // " ", line 18
For a single symbol you need to use single quotes:
buf[7] = '_';
(same everywhere).
buf[10] = "_"; // " ", line 19
buf[13] = "_"; // ":", line 20
buf[16] = "_"; // ":", line 21
buf[19] = "_"; // " ", line 22
buf[24] = "\0"; // remove the last \n char, line 23
// printf the new datetimestring
printf("The time is: %s", buf);
}
[..]
V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask- Hide quoted tex=
t -
- Show quoted text -
Thanks a lot for the prompty help, Victor. It worked! The compiler
errors disappered and the space was replaced by '-'. Can you also tell
me how to remove the chars in the beginning of the string? and how to
remove a char inside the string, because i have one more space inside
the string and would like to remove it. I tried to use like:
buf[0]='', but got compiler errors like: test_ctimer.c:18:12: empty
character constant
Thanks a lot.