可能重複:
Why do I get a segmentation fault when writing to a string?麻煩簡單的字符串連接
我寫在那裏我試圖連接兩個字符串在for循環中一個非常簡單的程序。字符串連接中的第一個字符串是固定的,第二個字符串是通過使用itoa
函數獲得的。該程序正在成功建立,但是當我嘗試運行程序時,它無法運行並停止。我只是調試程序,並在調試時意識到程序在字符串連接操作中陷入困境。我正在發佈下面的程序。感謝您的支持:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc,char *argv[])
{
char *str="NULL" ,dec[] = "NULL";
int i,num;
printf("Enter a number : \n");
scanf("%d",&num);
for (i=0;i<num;i++)
{ str = "test_file_num_";
itoa(i,dec,10);
strcat(str,dec);
printf("%s\n",str);
}
return 0;
}
嗨! 感謝您的支持。當我將char * str聲明爲char str [128]時,我在語句str =「test_file_num_」中收到錯誤;並且錯誤是錯誤C2106:'=':左操作數必須是l值 – duttasankha
更改'strcpy(str,「test_file_num _」);'。 – imreal
完美!奇妙的作品。你是否會改變你的答案並添加這個答案,以便我可以接受它作爲答案。再次感謝。 – duttasankha