簡體   English   中英

有沒有辦法在 C 中重復字符串中的字符?

[英]Is there a way to repeat characters in a string in C?

我正在 Arduino 中實現 Vigenère 密碼; 我想先構建 C 中的功能,只是為了掌握一些東西。

我的密鑰字符串將存儲在 arduino 中,它們將被隨機選擇以加密用戶輸入的消息。 但是,密鑰的長度是固定的,並且消息的長度可能比密鑰長。

是否可以重復字符串中的字符直到字符串達到一定長度?

例如,如果存儲的密鑰是“axudni”,消息是“rideatdawn”,有沒有辦法更改密鑰字符串,使其變為“axudniaxud”?

類似的東西: https://stackoverflow.com/a/14992905/14103580

我只需要以正確的方式指出,我們將不勝感激。

我認為這是一個 X/Y 問題( https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem )。

我懷疑創建一個合適的重復密鑰字符串是一種可能但不優雅的解決方案。

相反,我建議通過您將用於重復字符串的索引的模來訪問它們來使用這些鍵。

我在此承認這個概念已經在 Weather Vane 的明顯較舊的評論中。在添加我的答案之前我根本沒有注意到。

即,而不是像keystring[i%keylength]這樣repeatedkeystring[i]訪問。

筆記:
我相信/假設“我正在制作一個 vignere 密碼實現”意味着您自己可以決定訪問密鑰的這種細節。 如果您使用的庫需要例如指向 memory 中足夠長的字符序列的指針(可能是指向 char、 const char* const的指針),那么您肯定需要遵循乘法方法)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM