C语言中怎么把字符数组里的数据存放到字符串数组中 C语言 将文件中的字符串存储到数组中。

C\u8bed\u8a00\u4e2d\u5982\u4f55\u628a\u5b57\u7b26\u4e32\u4fdd\u5b58\u5728\u6570\u7ec4\u4e2d

\u4f60\u8fd9\u4e2a\u6beb\u65e0\u89c4\u5f8b\u554a\uff01\uff01\uff01
a[0]\u768456\u662f16\u8fdb\u5236\u7684\uff0c\u4f60\u7684\u5b57\u7b26\u4e32\u662f\u201c56\u201d\uff1b
a[2]\u768445\u768410\u8fdb\u5236\u7684\uff0c\u4f60\u7684\u5b57\u7b26\u4e32\u4e2d\u4e5f\u662f\u201c45\u201d\uff0c\u89c4\u5f8b\u90fd\u4e0d\u540c\u3002

\u505a\u4e0d\u5230\uff01\uff01\uff01

\u5982\u679c\u662f\u6309\u716716\u8fdb\u5236\uff0c\u6240\u6709\u6570\u90fd\u7684\u6309\u716716\u8fdb\u5236\u6765\uff0c\u5982\u679c\u662f10\u8fdb\u5236\u7684\u8bdd\uff0c\u4e00\u6837\u7684\u3002

\u4f8b\u598210\u8fdb\u5236\uff0c\u4f7f\u7528\u4f60\u4e0a\u9762\u7684\u6570\u636e:
a[0] = 5*16+6 = 86; a[1] = 8*16+7 = ..., a[2] = 45;
\u5b57\u7b26\u4e32\u5e94\u8be5\u662f"86...45..."
\u5e0c\u671b\u80fd\u89e3\u51b3\u60a8\u7684\u95ee\u9898\u3002


\u53c2\u8003\u8fd9\u4e2a\uff0c\u6539\u4e0b\u5c31\u53ef

       利用C语言标准库中的strtok()函数,可以轻松快捷的将以空格分隔开的一串字符分成多个子串,存放到字符指针数组中。

函数说明:

       #include <string.h> //头文件

       char *strtok(char *str, const char *delim); 

       strtok()用来将字符串分割成一个个片段。参数str指向欲分割的字符串,参数delim则为分割字符串中包含的所有字符。当strtok()在参数str的字符串中发现参数delim中包涵的分割字符时,则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数str字符串,往后的调用则将参数str设置成NULL。每次调用成功则返回指向被分割出片段的头指针。当没有被分割的串时则返回NULL。

参考代码:



/*
C语言中怎么把字符数组里的数据存放到字符串数组中
*/
#include<stdio.h>
#include<iostream.h>

void main()
{
char a[ 100 ], *p, *q;
int i, j, n = 0;
char *b[ 50 ];//字符指针数组
printf("Please input a sentence:\n");
gets( a );
p = a;
while( *p != '\0' ) {
if( *p == ' ') {//跳过空格
p++;
continue;
}
else {
i = 0;
while( *( p + i ) != ' ' && *( p + i ) != '\0' )
i++;
q = new char[ i + 1 ];//创建一个新的字符数组,存储单词
for( j = 0; j < i; j++ )
q[ j ] = p[ j ];
q[ i ] = '\0';//记得放上结束符
b[ n++ ] = q;//用字符数组中的元素指向新创建的字符数组
p += i;
}
}
//以下换行输出,验证是否正确
for( i = 0; i < n; i++ )
printf( "%s\n", b[ i ] );
for( i = 0; i < n; i++ )
delete []b[i];//释放各个字符数组

}

//测试:输入
// sdkjf skdj d
// 输出
// sdkjf
// skdj
// d

P.S: 或者输入一个完整的英文,如 " I am a genius!" 也可。程序会自动忽略空格。:-) 用C的malloc和free写起来较长,喜欢用C++中的new和delete

  • C璇█涓殑char鏁扮粍涓殑鏁版嵁濡備綍鎻愬彇?
    绛旓細鍙互浣跨敤sscanf鏍煎紡杈撳叆鍑芥暟锛屼粠鎸囧畾瀛楃涓叉寜鐓ф牸寮忚鍙栦换鎰忕被鍨嬬殑鏁版嵁銆傚嚱鏁皊scanf鍦╯tdio.h搴撳綋涓
  • C璇█涓庝箞鎶婂瓧绗︽暟缁勯噷鐨勬暟鎹瀛樻斁鍒板瓧绗︿覆鏁扮粍涓
    绛旓細鍒╃敤C璇█鏍囧噯搴撲腑鐨剆trtok锛堬級鍑芥暟锛屽彲浠ヨ交鏉惧揩鎹风殑灏嗕互绌烘牸鍒嗛殧寮鐨勪竴涓插瓧绗﹀垎鎴愬涓瓙涓诧紝瀛樻斁鍒板瓧绗︽寚閽堟暟缁勪腑銆傚嚱鏁拌鏄庯細include <string.h> //澶存枃浠 char *strtok(char *str, const char *delim);strtok()鐢ㄦ潵灏嗗瓧绗︿覆鍒嗗壊鎴愪竴涓釜鐗囨銆傚弬鏁皊tr鎸囧悜娆插垎鍓茬殑瀛楃涓诧紝鍙傛暟delim鍒欎负鍒嗗壊瀛楃涓蹭腑...
  • c璇█涓庝箞鎶婂瓧绗︽暟缁勯噷鐨勬暟鍊鏀瑰彉
    绛旓細寰堢畝鍗曞晩锛岀敤 strcpy(a[5],b[0]); 灏辫浜 鑰屼笖瑕佸厛澹版槑#include<string.h>鐨勫ご鏂囦欢銆
  • C璇█,濡備綍灏鏁板瓧娣诲姞鍒颁竴涓凡鏈鐨勫瓧绗︽暟缁勪腑?
    绛旓細鏁扮粍瑕佸疄鏃舵坊鍔犳暟瀛楄繘鍘绘湁鐐归夯鐑,濡傛灉鏄┖鏁扮粍灏变竴涓猣or寰幆鎸夐『搴忚緭鍏ュ氨琛屼簡銆傚鏋滄槸鎯虫妸涓涓暟瀛楁彃鍏ユ煇涓綅缃,閭g敤涓涓彉閲弔emp璁板綍鎻掑叆鐨勪綅缃,鍏堝湪鍘熸潵鐨勬暟缁則emp浣嶇疆寮濮嬬殑鏁板叏閮ㄥ厛鍚庣Щ涓浣,鐒跺悗鍐峚 = waiting[temp];(a鏄綘鎯虫彃鍏ョ殑鏁板瓧) 鏈洖绛旂敱鐢佃剳缃戠粶鍒嗙被杈句汉 宕旇壇椋炴帹鑽 涓炬姤| 绛旀绾犻敊 | 璇勮 0 ...
  • c璇█涓,濡備綍灏嗗瓧绗︿覆鏁扮粍涓殑52鎻愬彇鍑烘潵,骞惰浆鎹负int绫诲瀷
    绛旓細鍏堣绠鍗曠殑锛鏁扮粍杞垚瀛楃涓插彧瑕佺敤sprintf鍑芥暟灏卞彲浠ヤ簡锛屽湪string.h涓紝鐢ㄦ硶鍜宲rintf寰堢被浼硷紝鍙鍦ㄥ墠闈㈠姞涓婁綘瑕佺敓鎴愮殑瀛楃涓叉寚閽堝氨鍙互浜 int sprintf ( char * str, const char * format, ... );瀛楃涓茶浆鎹㈡垚int,棣栧厛浣犺鍒ゆ柇鏄笉鏄暟瀛楋紝灏嗘暟瀛楁彁鍙栧埌涓涓瓧绗︿覆涓紝鍒繕浜哱0 涔嬪悗鍦╯tdlib....
  • C璇█涓庢牱灏嗕竴涓瓧绗︽暟缁勯噷闈㈢殑鎵鏈夊厓绱犲彉鎴愪竴涓瓧绗︿覆
    绛旓細棣栧厛瑕佹槑纭殑鏄紝鈥滃瓧绗︿覆鈥濆湪C璇█涓殑鍚箟瀹為檯涓婂氨鏄竴涓猚har绫诲瀷鐨勬寚閽堟垨鏁扮粍锛屼笖鏈鍚庝竴浣嶇疆涓0鏍囪瀛楃涓茬殑缁撴潫銆傛墍浠ワ紝浣犳墍璇寸殑鈥瀛楃鏁扮粍鈥滄垜鏄惁鍙互鐞嗚В涓轰竴涓病鏈夌粓缁撶0鐨刢har绫诲瀷鏁扮粍锛熻繖鏍风殑璇濓紝鏂规硶濡備笅 include <string.h>int main() // 杩欓噷涓轰簡鏂逛究鐩存帴鐢╩ain鍑芥暟{ char array...
  • c璇█瀛楃鏁扮粍浣跨敤鏂规硶
    绛旓細鍦C璇█涓锛屽彲浠ョ敤涓ょ鏂规硶琛ㄧず鍜屽瓨鏀惧瓧绗︿覆锛(1)鐢瀛楃鏁扮粍瀛樻斁涓涓瓧绗︿覆 char str[ ]="I love China";(2)鐢ㄥ瓧绗︽寚閽堟寚鍚戜竴涓瓧绗︿覆 char* str="I love China";瀵逛簬绗簩绉嶈〃绀烘柟娉曪紝鏈変汉璁や负str鏄竴涓瓧绗︿覆鍙橀噺锛屼互涓哄畾涔夋椂鎶婂瓧绗涓插父閲"I love China"鐩存帴璧嬬粰璇ュ瓧绗︿覆鍙橀噺锛岃繖鏄笉瀵圭殑...
  • c璇█缂栫▼瀹炵幇瀛楃涓叉暟缁勭殑杈撳嚭
    绛旓細1銆佹柊寤轰竴涓 瀛楃涓叉暟缁勭殑瀹氫箟涓庤緭鍑洪」鐩2銆佹坊鍔犱竴涓 str.c 鏂囦欢銆3銆佸寘鍚玸tdio.h鍜宻tdlib.h澶存枃浠躲4銆佽緭鍏ain鍑芥暟涓讳綋锛宻ystem()鍜岃繑鍥炲笺5銆佸畾涔変竴涓瓧绗︿覆鍙橀噺str銆6銆佷娇鐢╬rintf()鍑芥暟杈撳嚭瀛楃涓插彉閲弒tr銆7銆佽繍琛岀▼搴忥紝鏌ョ湅杈撳嚭缁撴灉銆
  • C璇█ 鎬庝箞鎶婂瓧绗︽暟缁勪腑鐨瀛楃璧嬪肩粰瀛楃鍙橀噺
    绛旓細C璇█涓锛灏嗗瓧绗涓蹭綔涓瀛楃鏁扮粍鏉ュ鐞嗙殑銆侰璇█瑙勫畾浜嗕竴涓滃瓧绗︿覆缁撴潫鏍囧織鈥濓紝浠ュ瓧绗︹橽0鈥欎綔涓烘爣蹇椼備负姝わ紝鍐嶅瀛楃鏁扮粍鍒濆鍖栫殑鏂规硶琛ュ厖涓绉嶇敤瀛楃涓插父閲忔潵浣垮瓧绗︽暟缁勫垵濮嬪寲鏂规硶锛歝har c[] = {鈥淗ello鈥潁;鎴 char c[] =鈥淗ello鈥; 娉ㄦ剰锛鏁扮粍c鐨闀垮害涓嶆槸5锛岃屾槸6.涓婇潰鐨勫垵濮嬪寲绛変环浜庯細...
  • C璇█涓浣曞皢涓涓瓧绗︿覆鏁扮粍閲岀殑瀛楃涓插啓鍏ュ彟涓涓暟缁勪腑
    绛旓細鐢ㄥ嚱鏁 stract锛堝瓧绗︿覆1锛屽瓧绗︿覆2锛夊氨鏄鎶婂瓧绗涓2鎺ュ埌瀛楃涓1鐨勫悗闈
  • 扩展阅读:∧是什么运算符号 ... 打印字符数组c语言 ... c语言有字符串数组吗 ... 如何定义一个字符串数组 ... 截取字符串的三种方法 ... c#字符串截取方法 ... 字符数组的正确输入 ... 字符数组输入特点 ... c#中怎么把字符串改为数组 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网