{"id":9422,"date":"2024-03-14T09:37:06","date_gmt":"2024-03-14T09:37:06","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/"},"modified":"2024-03-20T15:27:59","modified_gmt":"2024-03-20T15:27:59","slug":"how-to-input-a-string-of-unknown-length-in-the-c-language","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/","title":{"rendered":"How to input a string of unknown length in the C language?"},"content":{"rendered":"<p>In C language, you can use the dynamic memory allocation functions malloc() and realloc() to input strings of unknown length. Initially, you can use malloc() to allocate memory for storing the string, and then use realloc() to adjust the memory size as needed.<\/p>\n<p>Here is an example code:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;stdio.h&gt;<\/span><\/span>\r\n<span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;stdlib.h&gt;<\/span><\/span>\r\n<span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;string.h&gt;<\/span><\/span>\r\n\r\n<span class=\"hljs-type\">int<\/span> <span class=\"hljs-title function_\">main<\/span><span class=\"hljs-params\">()<\/span> {\r\n    <span class=\"hljs-type\">char<\/span> *input = (<span class=\"hljs-type\">char<\/span> *)<span class=\"hljs-built_in\">malloc<\/span>(<span class=\"hljs-number\">100<\/span>); <span class=\"hljs-comment\">\/\/ \u521d\u59cb\u5206\u914d100\u4e2a\u5b57\u8282\u7684\u5185\u5b58\u7a7a\u95f4<\/span>\r\n    <span class=\"hljs-type\">char<\/span> *temp;\r\n    <span class=\"hljs-type\">int<\/span> len = <span class=\"hljs-number\">0<\/span>;\r\n    \r\n    <span class=\"hljs-keyword\">if<\/span> (input == <span class=\"hljs-literal\">NULL<\/span>) {\r\n        <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"\u5185\u5b58\u5206\u914d\u5931\u8d25\\n\"<\/span>);\r\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">1<\/span>;\r\n    }\r\n    \r\n    <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"\u8bf7\u8f93\u5165\u5b57\u7b26\u4e32\uff1a\\n\"<\/span>);\r\n\r\n    <span class=\"hljs-keyword\">while<\/span>(<span class=\"hljs-number\">1<\/span>) {\r\n        <span class=\"hljs-keyword\">if<\/span> (len &gt;= <span class=\"hljs-number\">100<\/span>) {\r\n            <span class=\"hljs-comment\">\/\/ \u8c03\u6574\u5185\u5b58\u7a7a\u95f4\u5927\u5c0f<\/span>\r\n            temp = (<span class=\"hljs-type\">char<\/span> *)<span class=\"hljs-built_in\">realloc<\/span>(input, len + <span class=\"hljs-number\">10<\/span>);\r\n            <span class=\"hljs-keyword\">if<\/span> (temp == <span class=\"hljs-literal\">NULL<\/span>) {\r\n                <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"\u5185\u5b58\u5206\u914d\u5931\u8d25\\n\"<\/span>);\r\n                <span class=\"hljs-built_in\">free<\/span>(input);\r\n                <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">1<\/span>;\r\n            } <span class=\"hljs-keyword\">else<\/span> {\r\n                input = temp;\r\n            }\r\n        }\r\n\r\n        <span class=\"hljs-comment\">\/\/ \u9010\u5b57\u7b26\u8bfb\u53d6\u8f93\u5165<\/span>\r\n        input[len] = getchar();\r\n        \r\n        <span class=\"hljs-keyword\">if<\/span> (input[len] == <span class=\"hljs-string\">'\\n'<\/span>) {\r\n            input[len] = <span class=\"hljs-string\">'\\0'<\/span>;\r\n            <span class=\"hljs-keyword\">break<\/span>;\r\n        }\r\n        \r\n        len++;\r\n    }\r\n\r\n    <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"\u8f93\u5165\u7684\u5b57\u7b26\u4e32\u4e3a\uff1a%s\\n\"<\/span>, input);\r\n\r\n    <span class=\"hljs-built_in\">free<\/span>(input);\r\n    \r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">0<\/span>;\r\n}\r\n<\/code><\/pre>\n<p>In this sample code, a memory space of initial size of 100 bytes is allocated using the malloc() function to store a string. Then, within a loop, the input string is read character by character and the size of the memory space is adjusted as needed using the realloc() function. Once the input is finished, the inputted string is printed and the memory space is released.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In C language, you can use the dynamic memory allocation functions malloc() and realloc() to input strings of unknown length. Initially, you can use malloc() to allocate memory for storing the string, and then use realloc() to adjust the memory size as needed. Here is an example code: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; int [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-9422","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to input a string of unknown length in the C language? - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to input a string of unknown length in the C language?\" \/>\n<meta property=\"og:description\" content=\"In C language, you can use the dynamic memory allocation functions malloc() and realloc() to input strings of unknown length. Initially, you can use malloc() to allocate memory for storing the string, and then use realloc() to adjust the memory size as needed. Here is an example code: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; int [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-14T09:37:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-20T15:27:59+00:00\" \/>\n<meta name=\"author\" content=\"Isabella Edwards\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Isabella Edwards\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/\"},\"author\":{\"name\":\"Isabella Edwards\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\"},\"headline\":\"How to input a string of unknown length in the C language?\",\"datePublished\":\"2024-03-14T09:37:06+00:00\",\"dateModified\":\"2024-03-20T15:27:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/\"},\"wordCount\":125,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/\",\"name\":\"How to input a string of unknown length in the C language? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T09:37:06+00:00\",\"dateModified\":\"2024-03-20T15:27:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to input a string of unknown length in the C language?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\",\"name\":\"Isabella Edwards\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"caption\":\"Isabella Edwards\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to input a string of unknown length in the C language? - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/","og_locale":"en_US","og_type":"article","og_title":"How to input a string of unknown length in the C language?","og_description":"In C language, you can use the dynamic memory allocation functions malloc() and realloc() to input strings of unknown length. Initially, you can use malloc() to allocate memory for storing the string, and then use realloc() to adjust the memory size as needed. Here is an example code: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; int [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T09:37:06+00:00","article_modified_time":"2024-03-20T15:27:59+00:00","author":"Isabella Edwards","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Isabella Edwards","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/"},"author":{"name":"Isabella Edwards","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd"},"headline":"How to input a string of unknown length in the C language?","datePublished":"2024-03-14T09:37:06+00:00","dateModified":"2024-03-20T15:27:59+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/"},"wordCount":125,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/","name":"How to input a string of unknown length in the C language? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T09:37:06+00:00","dateModified":"2024-03-20T15:27:59+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-input-a-string-of-unknown-length-in-the-c-language\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to input a string of unknown length in the C language?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd","name":"Isabella Edwards","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","caption":"Isabella Edwards"},"url":"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/9422","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=9422"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/9422\/revisions"}],"predecessor-version":[{"id":42599,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/9422\/revisions\/42599"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=9422"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=9422"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=9422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}