Как записать число в строку? - C (СИ)
Формулировка задачи:
Только начал изучать программирование. Задали задачу. Есть число а = 12389329, есть массив buf[1024]. Надо записать число в массив в виде строки и записать число в файл.
Создал цикл, но проблема в том, что цифры "выходят" в обратном порядке. Что мне сделать дальше? Помогите пожалуйста!
Листинг программы
- #include <stdio.h>
- void main (void)
- {
- int a = 12389329;
- char buf[1024];
- while (a > 0)
- {
- b = a % 10;
- a /= 10;
- b += 48;
Решение задачи: «Как записать число в строку?»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- void inplace_reverse(char * string) {
- if (string) {
- char * end = string + strlen(string) - 1;
- #define XOR_SWAP(a,b) do\
- {\
- a ^= b;\
- b ^= a;\
- a ^= b;\
- } while (0)
- while (string < end) {
- XOR_SWAP(*string, *end);
- string++;
- end--;
- }
- #undef XOR_SWAP
- }
- }
- void strrev(char *buffer) {
- char *temp = buffer;
- while(temp && *temp) {
- ++temp;
- }
- for(--temp; buffer < temp; ++buffer, --temp)
- *buffer = *buffer ^ *temp,
- *temp = *buffer ^ *temp,
- *buffer = *buffer ^ *temp;
- }
- int main(void) {
- int a = 12389329;
- char buf[1024];
- sprintf(buf, "%d", a);
- printf("Число: %s\n", buf);
- strrev(buf);
- printf("Число: %s\n", buf);
- FILE* fd = fopen("file/number.txt", "w");
- if (fd == NULL) {
- printf("Ошибка открытия файла!\n");
- exit(1);
- }
- fprintf(fd, "%s\n", buf);
- fclose(fd);
- return EXIT_SUCCESS;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д