Как записать число в строку? - 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д